检查互联网连接不工作
Check connection with internet not working
我正在开发一个带有Phonegap的Android应用程序。我需要检查互联网连接是否"真实"。如果为 false,则显示警报,"else"重定向到网站。但是不起作用,似乎该应用程序只是忽略了这个"脚本"。
法典:
<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>
我在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 );
}
我想
指出,这可能不是最可靠的。此外,您不希望将慢速连接与无连接混淆,因此必须为慢速连接设置长时间的超时属性。我也使用 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应用程序 - 对吗?告诉我这是否对你不起作用。
如果你在 cordova ver>= 3.0.0 中工作,那么首先你需要使用 CLI(命令行界面)安装网络连接插件,这些事件由 org.apache.cordova.network-information 添加
- 在线
- 离线
Cordova插件添加org.apache.cordova.network-information
$(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
}
我看到您正在使用实验性 API,这就是它不起作用的原因。
当您在PhoneGap上进行开发时,您必须添加相应的插件来检索网络信息。
cordova plugin add org.apache.cordova.network-information
在此处查看此插件的详细信息和示例。
添加插件后,现在测试网络连接。
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" />
}
相关文章:
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 安全地包装JS文件,这样当它们连接在一起时,它们仍然可以工作
- 在 JavaScript 不工作对象中连接两个变量
- 基于英特尔 xdk html5 的应用程序只能在启用互联网连接时工作
- 检查互联网连接不工作
- node.js串行端口事件在重新连接到端口后停止工作
- jsplumb连接不工作
- 如何将此js代码连接到外部工作表并连接到html
- js-ajax代码没有'工作不正常.第一个是在连接的两个xhr函数中不显示
- 无法获取d3.js数据.选择线路时连接和键功能工作
- 为什么我的查询在pgAdming上工作,但当我从服务器执行它时,我得到一个查询错误(错误:连接终止)
- 如何获得SignalR集线器连接以跨域工作
- 套接字.IO重新连接socket.socket.connect不工作
- JavaScript按钮不能与HTTPS连接一起工作
- JQuery旋钮,输入滑块和网页音频振荡器连接但不工作
- 字符串连接不工作,抛出错误
- 拆分和连接在JavaScript中是如何工作的
- facebook连接javascript sdk在IE中不工作
- Dojo /连接“onKeyPress"ENTER事件在本地工作,但在测试服务器上不起作用
- Phonegap插件不工作-连接未定义