Chrome 开发者版中的 navigator.onLine

借助 HTML5 中的离线 API,您没有理由不为用户提供流畅的离线体验。navigator.onLine 属性可以帮助我们解决这个问题,它是最近才在 Chrome 开发者渠道中推出的一项功能。此属性会返回 truefalse,具体取决于应用是否具有网络连接:

if (navigator.onLine) {
    console.log('ONLINE!');
} else {
    console.log('Connection flaky');
}

Web 应用还可以监听 onlineoffline 事件,以确定何时重新建立连接或应用何时离线:

window.addEventListener('online', function(e) {
    // Re-sync data with server.
}, false);

window.addEventListener('offline', function(e) {
    // Queue up events for server.
}, false);

我已在 http://html5-demos.appspot.com/static/navigator.onLine.html 上发布了一个可正常运行的演示,您可以在 MDN 中详细了解离线事件。