移動端判斷wifi

用window.navigator.connection來檢測,另外微信6.0版本以上,UA有個NetType,6.0版本如下,能夠用微信私有接口WeixinJSBridge小程序

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|| con.effectiveType;
        if(network != "wifi" && network != "2" && network != "unknown"){ 
        // unknown是爲了兼容Chrome Canary
            wifi = false;
        }
    }
   window.networkWIFI = wifi;

附加瀏覽器

判斷是否小程序
window.__wxjs_environment=='miniprogram'||window.globalEvn=='miniprogram'

// 是不是微信瀏覽器
isWeixin () {
   let ua = navigator.userAgent.toLowerCase()
   if (ua.match(/MicroMessenger/i) === 'micromessenger') {
      return true
   } else {
      return false
   }
 }
相關文章
相關標籤/搜索