<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> // get the maximum downlink speed // var speed = downlinkmax(); // // // check if it is enough for our amazing feature // if (speed < sufficient) { // disableFeature(); // } // (function (window, factory) { // 'use strict'; // if (typeof define === 'function' && define.amd) { // // AMD // define([], factory); // } else if (typeof exports === 'object') { // // Node.js // module.exports = factory(); // } else { // // Browser // window.downlinkmax = factory(); // } // }(this, function factory() { // // public API // return $1; // })); // 方法一 var limitless = Infinity, nav = navigator, speed, connection = nav.connection || nav.mozConnection || nav.webkitConnection || { // 不支持API downlinkMax: limitless }; switch (connection.type) { case 'none': speed = 0; break; case '2g': speed = 0.134; break; case 'bluetooth': case 'cellular': speed = 2; break; case '3g': speed = 8.95; break; case '4g': speed = 100; break; case 'ethernet': speed = 550; break; case 'wifi': speed = 600; break; // 其他、未知等. default: speed = limitless; break; } connection.downlinkMax = speed; console.log(connection); // var connection = navigator.connection || navigator.mozConnection || navigator.webkitConnection; // var type = connection.type; // function updateConnectionStatus() { // alert("Connection type is change from " + type + " to " + connection.type); // } // connection.addEventListener('typechange', updateConnectionStatus); // 方法二 var connection = navigator.connection||navigator.mozConnection||navigator.webkitConnection||{tyep:'unknown'}; var type_text = ['unknown','ethernet','wifi','2g','3g','4g','none']; alert(connection.type); var re_el = document.getElementById("re"); var btn_el = document.getElementById("btn"); function get_status(){ if(typeof(connection.type) == "number"){ connection.type_text = type_text[connection.type]; }else{ connection.type_text = connection.type; } if(typeof(connection.bandwidth) == "number"){ if(connection.bandwidth > 10){ connection.type = 'wifi'; }else if(connection.bandwidth > 2){ connection.type = '3g'; }else if(connection.bandwidth > 0){ connection.type = '2g'; }else if(connection.bandwidth == 0){ connection.type = 'none'; }else{ connection.type = 'unknown'; } } var html = 'Type : '+connection.type_text; html += '<br>Bandwidth : '+connection.bandwidth; html += '<br>isOnline : '+navigator.onLine; re_el.innerHTML = html; } btn_el.onclick = function(){ re_el.innerHTML = 'Waiting...'; get_status(); } // get the maximum downlink speed // speed = downlinkmax() // check if it is enough for our amazing feature // disableFeature() if speed < sufficient </script> </body> </html>
判断网络环境
最新推荐文章于 2024-03-20 08:35:21 发布