Tôi đang sử dụng navigator.network.connection.type
để nhận trạng thái mạng của thiết bị. Nhưng nó cho thấy lỗiPhonegap/Cordova - TypeError: Kết quả biểu thức 'navigator.network' [undefined] không phải là một đối tượng
TypeError: Result of expression 'navigator.network' [undefined] is not an object.
Tôi đã thử với Phonegap 1.0.0, Cordova 1.7.0, Cordova 1.7.0rc1, nhưng tôi vẫn gặp lỗi tương tự.
Nó hoạt động tốt trên iOS nhưng không hoạt động trên Android. Ai đó có thể giúp tôi với điều này?
Đây là mã của tôi:
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady() {
checkConnection();
loaddb();
}
function checkConnection() {
alert(navigator.network);
if(navigator.network==undefined) {
window.localStorage.setItem("internetAccessFlag","false");
} else {
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
if(networkState==Connection.UNKNOWN || networkState==Connection.NONE) {
window.localStorage.setItem("internetAccessFlag","false");
} else {
window.localStorage.setItem("internetAccessFlag","true");
}
//alert(window.localStorage.getItem("internetAccessFlag"));
}
}
</script>
EDIT: - Tôi đang sử dụng Cordova 1.7.0 và plugins.xml có
<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
Có điều gì tôi phải làm với điều này?
Vui lòng xem http://stackoverflow.com/a/10216239/1321873 – Rajesh
Điều đó dường như không phải là vấn đề. Tôi có đường dẫn và tên được chỉ định chính xác. – ilight
Bạn có đang đợi sự kiện "deviceready" trước khi cố truy cập thuộc tính navigator.network.connection.type không? –