有了 HTML5 的離線 API,您就沒有理由不為使用者提供完美的離線體驗。navigator.onLine
屬性是可以協助這個故事的其中一個元素,這項功能最近已在 Chrome 開發人員版中推出。這項屬性會傳回 true
或 false
,具體取決於應用程式是否有網路連線:
if (navigator.onLine) {
console.log('ONLINE!');
} else {
console.log('Connection flaky');
}
網頁應用程式也可以監聽 online
和 offline
事件,判斷何時可重新連線或應用程式離線:
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 中找到離線事件的更多資訊。