我是手机新手,我还在尝试了解基础知识。我想创建一个简单的应用程序,它启动时检查它是否有互联网连接,如果它,我希望它重定向到一个网站或在网络视图中加载该网站。如果它没有互联网连接,那么我希望它留在应用程序上,只显示静态内容。
这是我到目前为止所拥有的。
<!DOCTYPE html>
<html>
<head>
<title>Online Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// Cordova is loaded and it is now safe to make calls Cordova methods
//
function onDeviceReady() {
document.addEventListener("online", onOnline, false);
}
// Handle the online event example
//
function onOnline() {
window.location.href ="http://google.com";
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
我还将OpenAllWhitelistURLsInWebView设置为true。
如果应用程序处于离线状态,那么在线事件才有效吗?当应用程序重新联机时,它会被调用吗?
提前致谢!
答案 0 :(得分:1)
不,如果互联网已连接,应用启动时会触发在线事件,并且当应用从离线模式转为在线模式时也会调用此事件。
如果您想在phonegap中打开外部网站,可以添加相同的子浏览器插件,否则您可以在嵌入式webveiw中打开网站。 window.location.href在Phonegap中不起作用。
我不知道您是在使用iOS还是Android,因此链接for iOS和for Android
答案 1 :(得分:0)
移动在线事件处理程序(即此行)的接线:
document.addEventListener("online", onOnline, false);
进入你的onLoad()函数。我发现在线/离线事件需要在加载时注册,而不是后来出于某种原因。