JavaScript在线状态检测API

在线状态检测API用于检测当前的网络是否正常,包括是否在线以及在线状态改变事件。

一、当前在线状态属性

navigator.onLine用于检测当前的网络状态,为布尔型,用户网络连通则值为ture,否则值为false

二、状态改变事件

为window绑定online及offline事件可以监听网络连通性的改变:

window.addEventListener('online', function(){alert('网络已连接')},false);
window.addEventListener('offline', function(){alert('网络已断开')},false);

注意:IE8中需要给document.body绑定事件而不是window
此处网络连通性的变化指的是物理上的连通性变化,如果是在控制台将网络限制为offline则不会触发相应的事件。

三、兼容性

IE:8+
Chrome:14+
Firefox:3.5+(4-40存在bug,只有在offline模式下才会显示正确,否则onLine的值一直是true)
Safari:5+