我需要提醒用户注意以下条件;
这是代码;如何在发生时捕获以下条件并提醒用户?
failure: function (response) {
var text = response.responseText;
console.log("FAILED");
},success: function (response) {
var text = response.responseText;
console.log("SUCCESS");
}
我尝试了以下代码来检查互联网是否可以访问,但它无法正常工作
var networkState = navigator.network.connection.type
alert(states[networkState]);
if (networkState == Connection.NONE){
alert('No internet ');
};
更新**
我在index.html中添加了以下内容,但是,当我禁用WIFI时,我看不到弹出警报。
<script>
function onDeviceReady() {
document.addEventListener("offline", function() {
alert("No internet connection");
}, false);
}
</script>
答案 0 :(得分:19)
最好的办法是听“offline”事件。当您获得离线事件时,您可以警告您的用户并采取任何必要的步骤来保存数据等。
例如,您的“deviceready”回调:
document.addEventListener("offline", function() {
alert("No internet connection");
}, false);
此代码适用于大多数PhoneGap版本。它至少已经发布了1.0版本。
答案 1 :(得分:3)
正如西蒙所说,你可以使用
document.addEventListener("offline", youCallbackFn, false);
或者您可以询问布尔属性
navigator.onLine
(应该返回true或false)
但是,此技术将告诉您设备是否已连接。需要注意的是,设备可以连接到WiFi,但路由器可能处于脱机状态。在这种情况下,请使用轮询机制,例如具有较低超时的及时Ext.Ajax.request
。超时已过期=离线。
答案 2 :(得分:1)
网络对象可以访问设备的蜂窝和wifi连接信息。
您可以通过以下方式进行测试,
function onDeviceReady() {
navigator.network.isReachable("phonegap.com", reachableCallback, {});
}
// Check network status
//
function reachableCallback(reachability) {
// There is no consistency on the format of reachability
var networkState = reachability.code || reachability;
var states = {};
states[NetworkStatus.NOT_REACHABLE] = 'No network connection';
states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection';
states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK] = 'WiFi connection';
alert('Connection type: ' + states[networkState]);
}
答案 3 :(得分:1)
您可以在应用程序的app.js中添加“Ext.device.Connection”。使用以下代码检查您的设备是在线还是离线:
if (Ext.device.Connection.isOnline()) {
alert('Connected to internet');
}
else{
alert('You are not connected to internet');
}
答案 4 :(得分:0)
将其嵌入您的标记
<body onoffline="alert('PLEASE CHECK YOUR INTERNET SETTING');">