function getNetworkType() { /* wired 有線 bluetooth, wifi, 2g,3g,4g,5g..., unkown */ var ua = navigator.userAgent; var ut = navigator.connection; var utt = ut ? ut.type ? ut.type.toLowerCase() : null : null; if(utt){ switch (utt) {//bluetooth, case 'cellular': case 'wimax': utt = ut ? ut.effectiveType ? ut.effectiveType.toLowerCase() : null : null; break; case 'wifi': break; case 'ethernet': utt = 'wired'; case 'none': case 'other': case 'unknown': utt = null; default: break; } } var networkStr = utt ? utt : ua.match(/NetType\/\w+/) ? ua.match(/NetType\/\w+/)[0] : ''; networkStr = networkStr.toLowerCase().replace('nettype/', ''); return networkStr ? networkStr === '3gnet' ? '3g' : networkStr : 'unknown'; }
userAgent和connection的兼容性其實都很差,特別是pc,因此不少狀況仍是返回unkownnetty