Hãy coi chừng, trong khi navigator.onLine sự là giải pháp đơn giản nhất, nó không cư xử một cách nhất quán trên tất cả các trình duyệt. Trên Chrome nó sẽ cho bạn biết rằng nó là trực tuyến nếu bạn có một cáp mạng LAN, ngay cả khi bạn không có internet.
Bạn có thể sử dụng plugin cordova network-information
Bạn cũng có thể cố gắng làm cho một yêu cầu AJAX đến máy chủ của bạn; thường bạn muốn biết nếu bạn đang ngoại tuyến vì trong trường hợp đó bạn không thể liên lạc với máy chủ, vì vậy "ngoại tuyến" thường có nghĩa là "không thể giao tiếp với máy chủ" (máy chủ của bạn cũng có thể bị ngoại tuyến). Chơi với thời gian chờ hoặc một số yêu cầu cũng hữu ích nếu bạn cần kiểm tra băng thông hoặc chất lượng liên kết.
Ngoại tuyến không có ý nghĩa như nhau đối với mọi trường hợp sử dụng, trước tiên bạn cần biết kỹ thuật nào ở trên phù hợp nhất với bạn, sau đó triển khai một hoặc một số kỹ thuật.
Điều tôi muốn làm là kiểm tra kết nối Internet và quyết định lấy dữ liệu từ internet hoặc từ cơ sở dữ liệu cục bộ của thiết bị.
Dường như việc kiểm tra liên kết với máy chủ của bạn thông qua yêu cầu là lựa chọn tốt nhất cho bạn.
OK Tôi đã thử nghiệm bình thường trên trình duyệt Chrome và chỉ nhận được thông báo sai. Nhưng tôi xây dựng các ứng dụng với phonegap và thử nghiệm nó trên điện thoại thông minh của tôi và nó hoạt động. Cảm ơn NULL. U đã giúp tôi rất nhiều :) –
navigator.onLine không hoạt động đáng tin cậy, ít nhất là không có trong ứng dụng PhoneGapp của tôi (Nexus 4 với Android 5); navigator.onLine là thuộc tính được hỗ trợ. Tôi cũng tìm thấy câu hỏi liên quan này: http://stackoverflow.com/questions/14283124/navigator-online-not-always-working. –