用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 } }