NavigatorOnLine.onLine - Web API 接口参考 编辑
返回浏览器的联网状态。正常联网(在线)返回 true
,不正常联网(离线)返回 false
。一旦浏览器的联网状态发生改变,该属性值也会随之变化。当用户点击链接或者脚本进行网络请求时,如果发现浏览器连接不上互联网,则该属性会被赋值为false
。
各浏览器对该属性的实现有些不同。
在 Chrome 和 Safari 中,如果浏览器连接不上局域网(LAN)或者路由器,就是离线状态;否则就是在线状态。所以当该属性值为 false
的时候,你可以说浏览器不能正常联网,但如果该属性值为true的时候,并不意味着浏览器一定能连接上互联网。还有其他一些可能引起误判的原因,比如你的电脑安装了虚拟化软件,可能会有一个虚拟网卡,这时它总是会显示正常联网。因此,如果你想得到浏览器确切的联网状态,应该使用其他额外的检查手段。
在 Firefox 和 Internet Explorer 中,如果浏览器处于"脱机工作"状态,则返回 false
。在 Firefox 41之前,所有其他条件都返回 true
值;在 Windows 上的 Nightly 68上测试实际行为表明,它仅查找类似 Chrome 和 Safari 的 LAN 连接,从而产生误报。
你可以在 window.ononline
和 window.onoffline
上监听事件,来获取浏览器联网状态的改变情况。
语法
online = window.navigator.onLine;
取值
online
是个布尔值 true
或 false。
示例
查看 在线演示.
想要查看你是否连接上了互联网,查询 window.navigator.onLine
的值,如下方示例:
if (navigator.onLine) {
alert('online')
} else {
alert('offline');
}
如果浏览器不支持 navigator.onLine
,则上面的示例将始终显示为 false
/ undefined
。
要查看网络状态的变化,请使用 addEventListener
侦听 window.online
和 window.offline
事件,如以下示例所示:
window.addEventListener("offline", function(e) {alert("offline");})
window.addEventListener("online", function(e) {alert("online");})
规范
Specification | Status | Comment |
---|---|---|
HTML Living Standard navigator.onLine | Living Standard | Initial definition |
浏览器兼容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
备注
See Online/Offline Events for a more detailed description of this property as well as new offline-related features introduced in Firefox 3.
查看更多
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论