WorkerNavigator:onLine 属性
注意:此功能仅在Web Workers中可用。
返回浏览器的在线状态。该属性返回一个布尔值,true
表示在线,false
表示离线。每当浏览器连接网络的能力发生变化时,该属性都会发送更新。当用户点击链接或脚本请求远程页面时,会发生更新。
例如,当用户在断开互联网连接后不久点击链接时,该属性应返回 false
。
浏览器以不同的方式实现此属性。
在 Chrome 和 Safari 中,如果浏览器无法连接到局域网 (LAN) 或路由器,则处于离线状态;所有其他情况均返回 true
。因此,虽然您可以假设当它返回 false
值时浏览器处于离线状态,但您不能假设 true
值一定表示浏览器可以访问互联网。您可能会得到误报,例如,当计算机运行虚拟化软件,该软件具有始终“连接”的虚拟以太网适配器时。因此,如果您确实需要确定浏览器的在线状态,则应开发其他检查方法。要了解更多信息,请参阅 2011 年的文章脱机工作。
在 Firefox 中,将浏览器切换到离线模式会发送 false
值。
值
online
是一个布尔值 true
或 false
。
示例
基本用法
要在工作线程中检查是否在线,请查询 navigator.onLine
,如下例所示
js
if (navigator.onLine) {
console.log("online");
} else {
console.log("offline");
}
如果浏览器不支持 navigator.onLine
,则上述示例将始终输出 false
/undefined
。
侦听网络状态的变化
要查看网络状态的变化,请使用addEventListener
侦听 online
和 offline
事件,如下例所示
js
addEventListener("offline", (e) => {
console.log("offline");
});
addEventListener("online", (e) => {
console.log("online");
});
规范
规范 |
---|
HTML 标准 # dom-navigator-online-dev |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。