Với API ngoại tuyến trong HTML5, bạn không có lý do gì để không cung cấp trải nghiệm ngoại tuyến hoàn hảo cho người dùng. Một điều có thể giúp ích cho câu chuyện này là thuộc tính navigator.onLine
; một tính năng mới đây đã ra mắt trong kênh nhà phát triển Chrome. Thuộc tính này trả về true
hoặc false
tuỳ thuộc vào việc ứng dụng có kết nối mạng hay không:
if (navigator.onLine) {
console.log('ONLINE!');
} else {
console.log('Connection flaky');
}
Ứng dụng web cũng có thể theo dõi các sự kiện online
và offline
để xác định thời điểm kết nối lại có sẵn hoặc khi ứng dụng không có mạng:
window.addEventListener('online', function(e) {
// Re-sync data with server.
}, false);
window.addEventListener('offline', function(e) {
// Queue up events for server.
}, false);
Tôi đã đăng một bản minh hoạ đang hoạt động tại http://html5-demos.appspot.com/static/navigator.onLine.html và bạn có thể xem thêm thông tin về các sự kiện ngoại tuyến trong MDN.