码迷,mamicode.com
首页 > 其他好文 > 详细

判断网络问题

时间:2018-02-02 14:19:50      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:移动   [1]   log   connect   title   offline   href   .com   微信6.0   

移动项目,有时候需要检测当前的状态是否是在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("您已处于离线状态");
            });

 

判断网络问题

标签:移动   [1]   log   connect   title   offline   href   .com   微信6.0   

原文地址:https://www.cnblogs.com/yuan619821/p/8404437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!