重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章主要介紹如何使用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函數(獲取圖片資源失敗時會調用該函數):
每次點擊button時,更新該圖片的src。若獲取圖片失敗,則認為網絡連接失敗
這種判斷網絡狀態的準確完全取決于圖片資源是否穩定。。。
4. bind()
原理同1:
var netStatue = true; $(window).bind('online', function(){ netStatue = true; }); $(window).bind('offline', function(){ netStatue = false; }); ... if(netStatue){ ... }else{ ... }
以上是“如何使用JS在瀏覽器中判斷當前網絡連接狀態”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!