我看到了一些不同的选项来检查电话间隙的互联网连接。有document.addEventListener("online", onOnline, false);
还有navigator.network.connection.type
...但我不确定哪一种是最佳实践。我还希望能够防止手机连接到 wifi 网络但没有互联网连接的不良情况。
$(document).on('pagecreate','#explanation-short', function(){
if ( isPhoneGap() ) {
if (checkConnection() == "none" ) {
connectionStatus = 'offline';
} else {
connectionStatus = 'online';
}
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';
//console.log('Connection : ' + Connection);
//console.log('Connection type: ' + states[networkState]);
return networkState;
}
} else {
connectionStatus = navigator.onLine ? 'online' : 'offline';
}
console.log("connectionStatus : "+connectionStatus);
});
例如,如果手机连接到 WiFi,则此代码可以工作,但我们不确定互联网是否确实可用。
phonegap 3.3+ 和 Jquery mobile 1.4 的最佳实践是什么?
事件,
document.addEventListener("online", onOnline, false);
仅当您的应用程序已加载并重新获得连接时才会触发。这不会在应用程序启动时触发。
因此,您必须使用checkConnection()
方法在应用程序启动时进行,然后如果您需要在应用程序运行时进行检查,则可以使用事件侦听器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)