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 事件
這兩個方法屬于 “偵聽 器”,在網(wǎng)絡(luò)連接 / 斷開的瞬間會觸發(fā)(當網(wǎng)絡(luò)從離線變?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('網(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é):
為了判斷是否離線,在頁面加載后,可先通過 navigator.onLine 取得初始的狀態(tài),然后通過ononline、onoffline 事件來確定網(wǎng)絡(luò)連接狀態(tài)是否變化。
一個缺點:navigator.onLine 和 online、offline事件卻不是萬能的,只能判斷無線和網(wǎng)線是否連接,而不能進一步判斷該網(wǎng)絡(luò)是否能夠上網(wǎng)。
以上就是JavaScript中判斷網(wǎng)絡(luò)狀態(tài)的幾種方法的詳細內(nèi)容,更多關(guān)于JavaScript判斷網(wǎng)絡(luò)狀態(tài)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
js字符串的各種格式的轉(zhuǎn)換 ToString,F(xiàn)ormat
平時我們經(jīng)常會需要將字符轉(zhuǎn)換為各種不同的格式,例如錢:0元需要轉(zhuǎn)換為0.00顯示;需要轉(zhuǎn)換為16進制顯示的數(shù),這樣的例子有很多2011-08-08
Bootstrap打造一個左側(cè)折疊菜單的系統(tǒng)模板(二)
這篇文章主要介紹了Bootstrap打造一個左側(cè)折疊菜單的系統(tǒng)模板(二)的相關(guān)資料,需要的朋友可以參考下2016-05-05
LBS blog sql注射漏洞[All version]-官方已有補丁
LBS blog sql注射漏洞[All version]-官方已有補丁...2007-08-08
詳解JS鼠標事件中clientX/screenX/offsetX/pageX屬性的區(qū)別
在熟悉業(yè)務(wù)中播放器功能的時候,發(fā)現(xiàn)時間軸上綁定了點擊和拖動事件,頻繁遇到了類似pageX之類的事件屬性,所以本文就來和大家詳細聊聊clientX/screenX/offsetX/pageX等屬性的區(qū)別吧2024-03-03
純html+css+javascript實現(xiàn)樓層跳躍式的頁面布局(實例代碼)
這篇文章主要介紹了純html+css+javascript實現(xiàn)樓層跳躍式的頁面布局,需要的朋友可以參考下2017-10-10

