JavaScript中判斷網(wǎng)絡(luò)狀態(tài)的幾種方法
1. 使用 Navigator onLine 屬性
Navigator onLine 屬性判斷瀏覽器是否在線,在線返回 true,離線返回 false;
Navigator onLine 是只讀屬性,所有主流瀏覽器都支持 onLine 屬性;
if (window.navigator.onLine) { console.log('網(wǎng)絡(luò)正常!'); } else { console.log('網(wǎng)絡(luò)中斷!'); }
2. 使用 ononline、onoffline 事件
這兩個(gè)方法屬于 “偵聽(tīng) 器”,在網(wǎng)絡(luò)連接 / 斷開(kāi)的瞬間會(huì)觸發(fā)(當(dāng)網(wǎng)絡(luò)從離線變?yōu)樵诰€或從在線變?yōu)殡x線時(shí),分別觸發(fā)這兩個(gè)事件)。
注意:檢測(cè) ononline 事件,要綁定在 window 對(duì)象上;
兼容 | 不兼容 | |
---|---|---|
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('網(wǎng)絡(luò)連接恢復(fù)'); }, true); window.addEventListener("offline", () => { console.log('網(wǎng)絡(luò)連接中斷'); }, true); }else if (window.attachEvent) { window.attachEvent("ononline", () => { console.log('網(wǎng)絡(luò)連接恢復(fù)'); }); window.attachEvent("onoffline", () => { console.log('網(wǎng)絡(luò)連接中斷'); }); }else { window.ononline = () => { console.log('網(wǎng)絡(luò)連接恢復(fù)'); }; window.onoffline = () => { console.log('網(wǎng)絡(luò)連接中斷'); }; } </script>
總結(jié):
為了判斷是否離線,在頁(yè)面加載后,可先通過(guò) navigator.onLine 取得初始的狀態(tài),然后通過(guò)ononline、onoffline 事件來(lái)確定網(wǎng)絡(luò)連接狀態(tài)是否變化。
一個(gè)缺點(diǎn):navigator.onLine 和 online、offline事件卻不是萬(wàn)能的,只能判斷無(wú)線和網(wǎng)線是否連接,而不能進(jìn)一步判斷該網(wǎng)絡(luò)是否能夠上網(wǎng)。
以上就是JavaScript中判斷網(wǎng)絡(luò)狀態(tài)的幾種方法的詳細(xì)內(nèi)容,更多關(guān)于JavaScript判斷網(wǎng)絡(luò)狀態(tài)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript可折疊區(qū)域?qū)崿F(xiàn)代碼
可折疊區(qū)域的基本思想:通過(guò)點(diǎn)擊某個(gè)地方來(lái)顯示或隱藏屏幕中的某個(gè)區(qū)域。2010-10-10js設(shè)置文本框中焦點(diǎn)位置在最后的示例代碼(簡(jiǎn)單實(shí)用)
本篇文章主要是對(duì)js設(shè)置文本框中焦點(diǎn)位置在最后的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-03-03MUI 解決動(dòng)態(tài)列表頁(yè)圖片懶加載再次加載不成功的bug問(wèn)題
這篇文章主要介紹了MUI 解決動(dòng)態(tài)列表頁(yè)圖片懶加載再次加載不成功的bug問(wèn)題,解決方法很簡(jiǎn)單的,需要的朋友可以參考下2017-04-04javascript 帶有滾動(dòng)條的表格,標(biāo)題固定,帶排序功能.
帶有滾動(dòng)條的表格,標(biāo)題固定,帶排序功能. 雖然經(jīng)測(cè)試有點(diǎn)問(wèn)題,但編程思路很清晰,需要的朋友可以參考下。2009-11-11前端數(shù)組去重面試我會(huì)問(wèn)這3個(gè)小問(wèn)題
數(shù)組去重在我們的前端的面試過(guò)程中經(jīng)過(guò)會(huì)遇到,有一些人可能會(huì)想到一兩種,但是數(shù)據(jù)去重的算法真的太多了,下面這篇文章主要給大家介紹了關(guān)于前端數(shù)組去重面試3個(gè)小問(wèn)題的相關(guān)資料,需要的朋友可以參考下2023-01-01