Navigator: onLine 属性
Navigator 接口的 onLine 属性返回设备是否已连接到网络,true 表示在线,false 表示离线。该属性的值会在浏览器检查其网络连接后发生变化,通常是在用户点击链接或脚本请求远程页面时。例如,当用户在失去互联网连接后不久点击链接时,该属性应返回 false。当其值发生变化时,会在 window 上触发 online 或 offline 事件。
浏览器和操作系统利用不同的启发式方法来确定设备是否在线。通常,连接到局域网 (LAN) 被视为在线,即使该局域网可能没有互联网访问。例如,计算机可能正在运行一个具有虚拟以太网适配器的虚拟化软件,这些适配器始终处于“连接”状态。在 Windows 上,在线状态取决于能否连接到 Microsoft 的某个服务器,即使计算机可以访问互联网,该服务器也可能被防火墙或 VPN 阻止。因此,此属性本质上是不可靠的,您不应根据在线状态禁用功能,而只能在用户似乎离线时提供提示。
值
布尔值。
示例
基本用法
要检查您是否在线,请查询 window.navigator.onLine,如下例所示:
js
if (navigator.onLine) {
console.log("online");
} else {
console.log("offline");
}
如果浏览器不支持 navigator.onLine,则上述示例将始终显示为 false/undefined。
监听网络状态的变化
要查看网络状态的变化,请使用 addEventListener 来监听 window.online 和 window.offline 事件,如下例所示:
js
window.addEventListener("offline", (e) => {
console.log("offline");
});
window.addEventListener("online", (e) => {
console.log("online");
});
规范
| 规范 |
|---|
| HTML # dom-navigator-online-dev |
浏览器兼容性
加载中…