JavaScript中判斷網絡狀態(tài)的幾種方法
1. 使用 Navigator onLine 屬性
Navigator onLine 屬性判斷瀏覽器是否在線,在線返回 true,離線返回 false;
Navigator onLine 是只讀屬性,所有主流瀏覽器都支持 onLine 屬性;
if (window.navigator.onLine) { console.log('網絡正常!'); } else { console.log('網絡中斷!'); }
2. 使用 ononline、onoffline 事件
這兩個方法屬于 “偵聽 器”,在網絡連接 / 斷開的瞬間會觸發(fā)(當網絡從離線變?yōu)樵诰€或從在線變?yōu)殡x線時,分別觸發(fā)這兩個事件)。
注意:檢測 ononline 事件,要綁定在 window 對象上;
兼容 | 不兼容 | |
---|---|---|
attachEvent | IE7、IE8 | firefox、chrome、IE9、IE10、IE11、safari、opera |
addEventListener | firefox、chrome、IE、safari、opera | IE7、IE8 |
完整代碼:
<script type="text/javascript"> if (window.addEventListener) { window.addEventListener("online", () => { console.log('網絡連接恢復'); }, true); window.addEventListener("offline", () => { console.log('網絡連接中斷'); }, true); }else if (window.attachEvent) { window.attachEvent("ononline", () => { console.log('網絡連接恢復'); }); window.attachEvent("onoffline", () => { console.log('網絡連接中斷'); }); }else { window.ononline = () => { console.log('網絡連接恢復'); }; window.onoffline = () => { console.log('網絡連接中斷'); }; } </script>
總結:
為了判斷是否離線,在頁面加載后,可先通過 navigator.onLine 取得初始的狀態(tài),然后通過ononline、onoffline 事件來確定網絡連接狀態(tài)是否變化。
一個缺點:navigator.onLine 和 online、offline事件卻不是萬能的,只能判斷無線和網線是否連接,而不能進一步判斷該網絡是否能夠上網。
以上就是JavaScript中判斷網絡狀態(tài)的幾種方法的詳細內容,更多關于JavaScript判斷網絡狀態(tài)的資料請關注腳本之家其它相關文章!
相關文章
MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題
這篇文章主要介紹了MUI 解決動態(tài)列表頁圖片懶加載再次加載不成功的bug問題,解決方法很簡單的,需要的朋友可以參考下2017-04-04javascript 帶有滾動條的表格,標題固定,帶排序功能.
帶有滾動條的表格,標題固定,帶排序功能. 雖然經測試有點問題,但編程思路很清晰,需要的朋友可以參考下。2009-11-11