Để kiểm tra xem có đang kết nối với internet không trên Javascript khá là đơn giản, chúng ta có 2 cách:
navigator.onLine
Đây là cách đơn giản nhất, property
onLine
trong object navigator
sẽ trả về true
nếu user đang kết nối với internet và ngược lại.if (navigator.onLine) {
// User đang kết nối với internet
}
Sau khi post bài này lên Kipalog thì bác Huy Trần có vào comment rằng mỗi trình duyệt khi sử dụng property này sẽ trả về một giá trị khác nhau nên cần phải lưu ý điểm này: Navigator.onLine - Web APIs | MDN (mozilla.org)
Dùng sự kiện
Cách này thì ta thêm vào object window 2 thằng event là "offline" và "online" là xong:
window.addEventListener('online', updateStatus);
window.addEventListener('offline', updateStatus);
function updateStatus() {
// Callback function này được gọi khi user ngắt hoặc kết nối với internet
}