zoukankan      html  css  js  c++  java
  • 判断网络问题

    移动项目,有时候需要检测当前的状态是否是在wifi网络下,那js可以检测出这种状态吗?

    我们可以试下用window.navigator.connection来检测,另外微信6.0版本以上,UA有个NetType,6.0版本以下,可以用微信私有接口WeixinJSBridge:

    1. 详细判断网络

    var wifi = true;
        var ua = window.navigator.userAgent;
        var con = window.navigator.connection;
        // 如果是微信
        if(/MicroMessenger/.test(ua)){
            // 如果是微信6.0以上版本,用UA来判断
            if(/NetType/.test(ua)){
                if(ua.match(/NetType/(S*)$/)[1] != 'WIFI'){
                    wifi = false;
                }
            // 如果是微信6.0以下版本,调用微信私有接口WeixinJSBridge
            }else{
                document.addEventListener("WeixinJSBridgeReady",function onBridgeReady(){
                    WeixinJSBridge.invoke('getNetworkType',{},function(e){
                        if(e.err_msg != "network_type:wifi"){
                            wifi = false;
                        }
                    });
                });
            }
        // 如果支持navigator.connection
        }else if(con){
            var network = con.type;
            if(network != "wifi" && network != "2" && network != "unknown"){  // unknown是为了兼容Chrome Canary
                wifi = false;
            }
        }
    window.networkWIFI = wifi;

    2. 仅判断有无网络

            //判断网络状态
                var EventUtil = {
                    addHandler: function (element, type, handler) {
                        if (element.addEventListener) {
                            element.addEventListener(type, handler, false);
                        } else if (element.attachEvent) {
                            element.attachEvent("on" + type, handler);
                        } else {
                            element["on" + type] = handler;
                        }
                    }
                };
                EventUtil.addHandler(window, "online", function () {
    //        alert("Online");
                });
                EventUtil.addHandler(window, "offline", function () {
                    alert("您已处于离线状态");
                });
  • 相关阅读:
    可持续化线段树(主席树)
    2016-06-19 NOIP模拟赛
    0618图的整理
    1536 海战
    1005 生日礼物
    3280 easyfinding
    2594 解药还是毒药
    2919 选择题
    1845 二叉查找树
    1174 靶形数独
  • 原文地址:https://www.cnblogs.com/yuan619821/p/8404437.html
Copyright © 2011-2022 走看看