我正在使用phonegap/cordova 3.3.x开发一个应用程序,我对可以检查连接是否可用的脚本没有任何运气,如果这样显示"main.html"。如果没有连接,请显示" offline.html"。目前,我的index.html当前重定向到我的" main.html",我在" index.html"中有此脚本,尽管它不起作用。.我尝试了其他几个脚本,无用。让我知道我是否还需要一个适当的.js文件,我知道旧的PhoneGap构建您以前必须在资产中包含PhoneGap.js文件吗?..有帮助吗?::
<script>
function checkConnection() {
var networkState = navigator.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 (networkState == Connection.NONE ){
window.location = "offline.html";
}
}
}
window.location='./main.html';
</script>
我也尝试过" ./offline",这只给了我默认的Android页面。提前感谢!
您可以订阅Onload中的两个事件(与DevicEready相同的位置)。
这两个事件是"在线"one_answers"离线":
document.addEventListener("offline", this.onReceivedOffline, false);
document.addEventListener("online", this.onReceivedOnline, false);
所以它将是
document.addEventListener("offline", onOffline, false);
function onOffline()
{
window.location = "offline.html";
}
您可以在此处阅读更多有关它的信息:http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#online