Navigator.onLine - Web APIs 编辑
Returns the online status of the browser. The property returns a boolean value, with true
meaning online and false
meaning offline. The property sends updates whenever the browser's ability to connect to the network changes. The update occurs when the user follows links or when a script requests a remote page. For example, the property should return false
when users click links soon after they lose internet connection.
Browsers implement this property differently.
In Chrome and Safari, if the browser is not able to connect to a local area network (LAN) or a router, it is offline; all other conditions return true
. So while you can assume that the browser is offline when it returns a false
value, you cannot assume that a true value necessarily means that the browser can access the internet. You could be getting false positives, such as in cases where the computer is running a virtualization software that has virtual ethernet adapters that are always "connected." Therefore, if you really want to determine the online status of the browser, you should develop additional means for checking. To learn more, see the HTML5 Rocks article, Working Off the Grid.
In Firefox and Internet Explorer, switching the browser to offline mode sends a false
value. Until Firefox 41, all other conditions return a true
value; testing actual behavior on Nightly 68 on Windows shows that it only looks for LAN connection like Chrome and Safari giving false positives.
You can see changes in the network state by listening for the events on window.ononline
and window.onoffline
.
Syntax
online = window.navigator.onLine;
Value
online
is a boolean true
or false
.
Examples
Basic usage
To check if you are online, query window.navigator.onLine
, as in the following example:
if (navigator.onLine) {
console.log('online');
} else {
console.log('offline');
}
If the browser doesn't support navigator.onLine
the above example will always come out as false
/undefined
.
Listening for changes in network status
To see changes in the network state, use addEventListener
to listen for the events on window.online
and window.offline
, as in the following example:
window.addEventListener('offline', function(e) { console.log('offline'); });
window.addEventListener('online', function(e) { console.log('online'); });
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'navigator.onLine' in that specification. | Living Standard | Initial definition |
Browser compatibility
BCD tables only load in the browser
Notes
See Online/Offline Events for a more detailed description of this property as well as new offline-related features introduced in Firefox 3.
See also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论