使用 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 也提供離線活動的詳細資訊。