中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用JS在瀏覽器中判斷當前網絡連接狀態

發布時間:2021-08-05 11:20:20 來源:億速云 閱讀:285 作者:小新 欄目:web開發

這篇文章主要介紹如何使用JS在瀏覽器中判斷當前網絡連接狀態,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

使用JS在瀏覽器中判斷當前網絡狀態的幾種方法如下:

1. navigator.onLine

2. ajax請求

3. 獲取網絡資源

4. bind()

1. navigator.onLine

通過navigator.onLine判斷當前網絡狀態:

if(navigator.onLine){
 ...
}else{
 ...
}

非常簡單,但是并不準確-根據MDN的描述:

navigator.onLine只會在機器未連接到局域網或路由器時返回false,其他情況下均返回true。

也就是說,機器連接上路由器后,即使這個路由器沒聯通網絡,navigator.onLine仍然返回true。

2. ajax請求

采用get請求的方式,根據返回值判斷是否能夠成功get到數據,從而確定當前的網絡狀態:

$.ajax({
 url: 'x.html',
 success: function(result){
  ...
 }, 
 error: function(result){
  ...
 }
});

3. 獲取網絡資源

原理同2,在頁面放一張隱藏圖片,設置其onerror函數(獲取圖片資源失敗時會調用該函數):

<script src="./jquery-3.1.1.min.js"></script>
<script>
function getImgError(){
 alert("Network disconnect!");
}
$().ready(function(){
 $("#btn-test").click(function(){
  var imgPath = "https://cache.yisu.com/upload/information/20200622/114/74531.png";
  var timeStamp = Date.parse(new Date());
  $("#img-test").attr("src", imgPath + "?timestamp=" + timeStamp);
 });
});
</script>
<body>
 <img id="img-test"  onerror="getImgError()"/>
 <button id="btn-test">check status</button>
</body>

每次點擊button時,更新該圖片的src。若獲取圖片失敗,則認為網絡連接失敗

這種判斷網絡狀態的準確完全取決于圖片資源是否穩定。。。

4. bind()

原理同1:

var netStatue = true;
$(window).bind('online', function(){
 netStatue = true;
});
$(window).bind('offline', function(){
 netStatue = false;
});
...
if(netStatue){
 ...
}else{
 ...
}

以上是“如何使用JS在瀏覽器中判斷當前網絡連接狀態”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石门县| 石狮市| 汨罗市| 蕉岭县| 渭源县| 烟台市| 介休市| 西乡县| 新泰市| 滦平县| 田林县| 临高县| 石棉县| 淮南市| 晴隆县| 灵丘县| 兰考县| 夏河县| 岳普湖县| 平潭县| 河池市| 大姚县| 宣武区| 芜湖市| 江山市| 兖州市| 弋阳县| 上蔡县| 偃师市| 宜春市| 阿城市| 静乐县| 怀柔区| 哈巴河县| 合阳县| 腾冲县| 遵义县| 将乐县| 寻甸| 青田县| 白沙|