мне нужно загрузить некоторые данные на сервер, когда интернет подключен к работе, но когда интернет отключен, а затем im сохраняет все данные в 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();
}
У вас настроены разрешения на доступ к устройствам refer- http://docs.phonegap.com/en/3.0.0/cordova_connection_connection.md.html#Connection
Вероятно, это происходит из-за нашего незнания мелочей:
вы не объявили объект состояний
var states = {};
прежде чем использовать его для назначения значений.
Надеюсь, это поможет.