【发布时间】:2016-08-21 17:30:45
【问题描述】:
我知道Stackoverflow 中有很多关于此的问题和答案,我阅读了很多,但没有一个有效。
我在标题中澄清了 Android WebView,因为它是最重要的目标,但我希望这也适用于其他设备。我在一个 应用程序上测试了以下代码@与iOS 9.3.4;
在这两种情况下我得到的都是相同的值,true(有时我得到false,即使我有互联网连接)。
我试过了:
-
navigator.onLine,它总是给出相同的值。 -
document.addEventListener("online", ...不会触发 -
ajax不起作用,反正对服务器没有影响?
代码: https://nanilab.com/stackoverflow/webview-internet-connection.php(此链接现已损坏)
选项 1:
function option1(){
var isOffline = 'onLine' in navigator && !navigator.onLine,
text = isOffline == true ? ' without connection ' : ' connected ';
$('.option-one span').text(text);
$('.option-one i').text('checked').hide().fadeIn(200);
setTimeout(function(){
option1();
}, 1000);
}
选项 2:
window.addEventListener("offline", function(){ $('.option-two span').text(' without connection'); }, false);
window.addEventListener("online", function(){ $('.option-two span').text(' connected'); }, false);
选项 3:
function option3(){
$.ajax({
url: '/stackoverflow/blank.php',
success: function(data){
print(' connected ');
},
error: function(jqXHR, textStatus, error) {
print(' without connection ');
}
});
function print(text){
$('.option-three span').text(text);
$('.option-three i').text('checked').hide().fadeIn(200);
setTimeout(function(){
option3();
}, 2000);
}
}
使用Intel XDK 构建的应用程序安装在SM-G355M with Android 4.4.2 上
我做错了什么?
【问题讨论】:
-
@HarishKommuri 谢谢,但我也想让它在移动浏览器中工作。有什么一般的吗?
-
插件所依赖的网络信息 API 也适用于 Chrome 48+,但我不确定它们是否 100% 兼容。 googlechrome.github.io/samples/network-information/index.html
-
这与 Cordova 有什么关系?
-
@daserge "使用英特尔 XDK 构建的应用 [...]"
标签: javascript android cordova webview