0

当互联网连接时,我需要在服务器上上传一些数据它工作正常但是当互联网断开连接时,我将所有数据保存在具有唯一ID的localStorage中,当再次连接互联网连接时,所有这些 localStorage 数据将上传到服务器上。但是对现在我的“在线”事件没有触发,即使我从设备上关闭了我的 WIFI,然后再次打开 WIFI。

document.addEventListener("deviceready",onDeviceReady, false);
         function onDeviceReady() 
{
          alert("device ready");
          checkConnection();
         document.addEventListener("online",callOnlineFunction, 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';
        return states[network];
}
 function callOnlineFunction()
{ 
            alert("call onlione function");
           loginOnOnline();
           getDataFromQueue();
}

 function loginOnOnline()
{   
           checkConnection();
}
4

2 回答 2

0

这可能是因为我们对小事一无所知:

你还没有声明 states 对象

var states = {};

在使用它分配值之前。

希望有帮助。

于 2013-10-04T08:41:56.030 回答
0

您是否配置了设备权限,您可以参考 - http://docs.phonegap.com/en/3.0.0/cordova_connection_connection.md.html#Connection

于 2013-10-04T13:28:17.720 回答