--- title: NavigatorOnLine.onLine slug: Web/API/NavigatorOnLine/onLine tags: - API - DOM Reference translation_of: Web/API/NavigatorOnLine/onLine ---
{{ApiRef("HTML DOM")}}
返回浏览器的联网状态。正常联网(在线)返回 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 |
---|---|---|
{{SpecName("HTML WHATWG", "browsers.html#dom-navigator-online", "navigator.onLine")}} | {{Spec2("HTML WHATWG")}} | Initial definition |
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.
{{Compat("api.NavigatorOnLine.onLine")}}
See Online/Offline Events for a more detailed description of this property as well as new offline-related features introduced in Firefox 3.