麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

Javascript實現網絡監測的方法

2019-11-20 11:57:05
字體:
來源:轉載
供稿:網友

本文實例講述了Javascript實現網絡監測的方法。分享給大家供大家參考。具體實現方法如下:

該代碼可監測網絡是否連接及網速的快慢狀態。

(function(){var network = function(){ var monitor = this; /**  * @param {Funcation} speedInterval  */ var speedInterval = null; /**  * @param {Function} networkInterval  */ var networkInterval = null; /**  * @param {Function} reNetworkInterval  */ var reNetworkInterval = null; var time = 5000; /**  * 獲取網絡連接狀態  */ var getConnectState = function(){  return navigator.onLine ? 1 : 0; };  /**  * 網絡中斷  */ var disconnect = function(){  // TODO ...   console.log("網速中斷");  window.clearInterval(reNetworkInterval);  reNetworkInterval = null;  endSpeed();  endNetwork();  window.setTimeout(function(){   reNetworkInterval = window.setInterval(function(){    if (getConnectState() == 1) {     window.clearInterval(reNetworkInterval);     reNetworkInterval = null;     startSpeed();     startNetwork();    } else {     window.clearInterval(reNetworkInterval);     reNetworkInterval = null;     disconnect();    }   }, time);  }, 2 * time); }; /**  * 網絡速度  */ var speed = {   /**    * 網速過慢    */   bad : function(){    // TODO ...     console.log("網速過慢");    window.setTimeout(function(){     if(getConnectState() == 1) {      window.clearInterval(networkInterval);      networkInterval = null;      startSpeed();     } else {      disconnect();     }    }, 2 * time);   },   /**    * 網速中等    */   medium : function(){    // TODO ...     console.log("網速中等");   },   /**    * 網速極佳    */   great : function(){    // TODO ...     console.log("網速極佳");   } }; /**  * 開啟速度監測  * @private  */ var startSpeed = function(){  window.clearInterval(speedInterval);  speedInterval = null;  if(getConnectState() == 1) {   speedInterval = window.setInterval(function(){    var start = new Date().getTime();    if (getConnectState() == 1) {     var img = document.getElementById("networkSpeedImage");     if (!!!img) {      img = document.createElement("IMG");      img.id = "networkSpeedImage";      img.style.display = "none";      document.body.appendChild(img);     }     try {      img.src = "http://www.baidu.com/img/baidu_jgylogo3.gif?_t=" + new Date().getTime();      img.onload = function(){       var end = new Date().getTime();       var delta = end - start;       if (delta > 200) {        speed.bad();       } else if (delta > 100) {        speed.medium();       } else {        speed.great();       }      };     } catch(e){      speed.bad();     }    } else {     // TODO 網絡斷開     disconnect();    }   }, time);  }else {   // TODO 網絡斷開   disconnect();  } }; /**  * 停止速度監測  * @private  */ var endSpeed = function(){  window.clearInterval(speedInterval);  speedInterval = null; }; /**  * 開啟網絡連接監測  * @private  */ var startNetwork = function(){  if (getConnectState() == 1) {   networkInterval = window.setInterval(function(){    if (getConnectState() == 0) {     disconnect();    }   }, time);  } else{   disconnect();  } }; /**  * 結束網絡連接監測  * @private   */ var endNetwork = function(){  window.clearInterval(networkInterval);  networkInterval = null; }; /**  * 網絡監控開始  */ this.start = function(){  startNetwork();  startSpeed(); }; /**  * 停止網絡監控  */ this.stop = function(){  endSpeed();  endNetwork(); };};  window.network = new network();}).call(this);// 調用的時候,直接調用network.start();

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久成人福利 | 欧美特黄一级高清免费的香蕉 | 中文字幕在线永久视频 | 日韩高清影视 | 亚洲成人精品国产 | 久久久久99999 | 久久国产精品一区 | 超碰99在线观看 | 欧美18一12sex性处hd | 久草成人在线 | 国产精品刺激对白麻豆99 | 一区二区三区黄色 | 在线91视频 | 失禁高潮抽搐喷水h | 国产一级淫片a级aaa | 精品一区二区久久久久久久网精 | 国产精品区一区二区三区 | lutube成人福利在线观看 | 欧美成人精品不卡视频在线观看 | 黄色午夜剧场 | 久久国产精品免费视频 | 中文字幕亚洲情99在线 | 久久艹精品 | 午夜色视频在线观看 | 美女又黄又www | av成人免费| 羞羞视频2023| 国产午夜免费不卡精品理论片 | 日本一区二区久久 | 日本在线免费观看视频 | 亚洲一区二区国产 | 1级黄色毛片 | 精品国产一区二区三区免费 | 成人在线观看免费观看 | 日本在线视频一区二区三区 | 福利在线免费 | 亚洲国产视频网 | 国产一区免费视频 | 国语自产免费精品视频在 | h视频在线免费观看 | 欧美成人一级 |