如果使用Phonegap没有互联网连接,如何显示警报框?

问题描述:

function checkConnection() { 
          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'; 


        alert('Connection type: ' + states[networkState]); 

       } 

这里我要显示警报如果只有互联网连接是不是可用的编缉?我使用如果statment if(statusValue == 'none'){ alert }但这里不是我的移动app.Here工作我使用的PhoneGap-1.3.0.js如果使用Phonegap没有互联网连接,如何显示警报框?

你也可以使用navigator.network.isReachable来ping一些网站,例如谷歌几乎100%的正常运行时间。在所有的移动操作系统或某些特定版本的Android中,它是不是有用的?

+1

我使用的Android 4.0版本... navigator.network.isReachable现在更高version.i工作试过 – Raj 2012-04-10 04:58:17

只是做

networkState = navigator.network.connection.type; 
if (networkState == Connection.NONE) 
{ 
    alert('No internet connection '); 
}; 
+1

它不工作亚...我没有得到警告框,如果我关掉互联网 – Raj 2012-04-10 05:25:56

+3

如果您想在设备脱机时收到通知,那么您需要注册“脱机”事件。 http://docs.phonegap.com/en/1.3.0/phonegap_events_events.md.html#offline – 2012-04-10 15:49:28

这会帮助你:

// Wait for Cordova to load 
document.addEventListener("deviceready", onDeviceReady, false); 
// Cordova is ready 
function onDeviceReady() { 
document.addEventListener("offline", whenOffline, false); 
return false; 
} 

function whenOffline() { 
navigator.notification.alert(
'Sorry your internet connection is not working, please enable it !', // message 
alertDismissed, // callback 
'Settings', // title 
'Done' // buttonName 
); 
return false; 
} 

试试这个:

function checkConnection() { 
    network = navigator.network.connection.type; 


    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'; 
    // alert('Connection type: ' + states[network]); 
    return states[network]; 
} 
    if (states[network] == 'No network connection') 
{ 
    alert('Connection type: ' + states[network]); 
} 

尝试下面的代码。

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 ((states[networkState]) == states[Connection.NONE]) 
{ 
alert("Please check your internet connectivity and try again"); 
}