我正在使用Phonegap开发Android应用。我需要检查一下互联网连接是否真的"如果为false,则显示警告,"否则"重定向到网站。 但是没有工作,似乎应用程序只是忽略了这个"脚本"。
代码:
<head>
<script>
var state = navigator.connection.type;
if (state == window.Connection.NONE)
{
alert("nao");
}
else
{
<meta http-equiv="refresh" content="0; url=http://website.com.br/abc" />
}
</script>
答案 0 :(得分:1)
我在Android
/ Phonegap
应用程序中使用此功能:
function CheckConnection() {
if(!navigator.network) {
navigator.network = window.top.navigator.network;
}
// return the type of connection found
return ( (navigator.network.connection.type === "none" || navigator.network.connection.type === null || navigator.network.connection.type === "unknown" ) ? false : true );
}
答案 1 :(得分:1)
我想指出,这可能不是最可靠的。此外,您不希望将慢速连接与没有连接混淆,因此必须长时间设置超时属性以进行慢速连接。我也使用jquery作为ajax请求,因为javascript会有很多代码,所以请确保你手头有jquery库。首先创建一个php文件来发出请求(我称之为test.php):
<?php
//test.php
echo 'request success';
?>
请求的发起人(检查您的互联网连接):
的Javascript / Jquery的:
<script type="text/javascript">
$.ajax({
url: "test.php",
error: function(){
// will fire when timeout is reached
alert('no internet');
},
success: function(){
//do something
//success function do this if the request is a success
},
timeout: 30000 // sets timeout to 30 seconds remember you want it to be long to ensure that it isn't just a slow connection
});
</script>
希望这会有所帮助,并且它可能不是最好的方式。我认为java可能有一个方法/类来看看互联网。我也认为你使用java,因为这似乎是一个Android应用程序 - 正确吗?告诉我这是否对你不起作用。
答案 2 :(得分:1)
如果您使用的是 cordova ver&gt; = 3.0.0 ,则首先需要使用 CLI 安装网络连接插件(命令行界面< / em>),由 org.apache.cordova.network-信息
添加的事件cordova插件添加org.apache.cordova.network-信息
$(document).ready(function() {
document.addEventListener("offline", onOffline, false);
document.addEventListener("online", onOnline, false);
});
function onOffline() {
// YOUR CODE FOR OFFLINE
}
function onOnline() {
// YOUR CODE FOR ONLINE
}
答案 3 :(得分:1)
我发现您使用的是experimental API,这就是为什么它不起作用。
在开发PhoneGap时,您必须添加相应的插件才能检索网络信息。
cordova plugin add org.apache.cordova.network-information
检查此插件的详细信息和示例here。
添加插件后,现在测试网络连接。
var state = navigator.network.connection.type;
if (state == navigator.network.connection.type)
{
alert("nao");
}
else
{
<meta http-equiv="refresh" content="0; url=http://website.com.br/abc" />
}