EventListener "online" "offline" 在 Android Cordova WebView 中不起作用
EventListener "online" "offline" doesn't work in Android Cordova WebView
我在使用 Android Cordova Webview 时遇到了一点问题。我的应用没有触发 eventListener "online/offline".
我尝试了多种类型的听众:
window.addEventListener('online', function() {alert('ON LISTENER');});
document.addEventListener('online', function() {alert('ON LISTENER');});
$(window).on("online", function() {alert('ON LISTENER');});
但 none 在 android 网络视图中工作
此处 "onLine" 表示连接到 "a network" 而不是 "the internet".
测试使用
第 5 代 Amazon Fire - Android 5.1.1 棒棒糖,
Nook HD - Android 4.0.3 冰淇淋三明治和
三星 galaxy S3 Neo - Android 4.4.2 KitKat
发现标准浏览器事件和属性不可靠,但这似乎工作可靠;
cordova network information plugin
例如。在 deviceReady 之后你可以调用这个 ;
function isOnLine(){
return navigator.connection.type !== Connection.NONE ;
}
或注册这些 ;
window.addEventListener("online",someFunction);
window.addEventListener("offline",someFunction);
所有工作都按预期进行,除了(正确的)online/offline 事件可能在启动时触发。
比较我使用标准浏览器事件和属性发现的内容...
主要使用第 5 代 Amazon Fire - Android 5.1.1 lollipop;
navigator.onLine
开始时为 false,这可能是不正确的(并且是只读的)。
如果在启动时连接了设备并且..
设备随后断开连接 - navigator.onLine
= false....
随后连接的设备 - navigator.onLine
= true.
如果在启动时设备断开连接并且...
随后连接的设备 - navigator.onLine
= true....
设备随后断开连接 - navigator.onLine
= false.
此后 navigator.onLine
反映设备连接状态的变化....有时。
因此,它开始时为 false(这可能不正确),然后在设备状态下一次更改时设置(不可靠)。
window.addEventListener("online",online.bind(this));
和
window.addEventListener("offline",offline.bind(this));
从未开火(在 Nook 上也看到过)。
window.ononline = function(){console.log("online");}
和
window.onoffline = function(){console.log("offline");}
两者都触发但不可靠,具体取决于设备中 wifi 切换的位置...因此该插件目前似乎是 Cordova 应用程序的唯一解决方案。
我在使用 Android Cordova Webview 时遇到了一点问题。我的应用没有触发 eventListener "online/offline".
我尝试了多种类型的听众:
window.addEventListener('online', function() {alert('ON LISTENER');});
document.addEventListener('online', function() {alert('ON LISTENER');});
$(window).on("online", function() {alert('ON LISTENER');});
但 none 在 android 网络视图中工作
此处 "onLine" 表示连接到 "a network" 而不是 "the internet".
测试使用 第 5 代 Amazon Fire - Android 5.1.1 棒棒糖, Nook HD - Android 4.0.3 冰淇淋三明治和 三星 galaxy S3 Neo - Android 4.4.2 KitKat
发现标准浏览器事件和属性不可靠,但这似乎工作可靠;
cordova network information plugin
例如。在 deviceReady 之后你可以调用这个 ;
function isOnLine(){
return navigator.connection.type !== Connection.NONE ;
}
或注册这些 ;
window.addEventListener("online",someFunction);
window.addEventListener("offline",someFunction);
所有工作都按预期进行,除了(正确的)online/offline 事件可能在启动时触发。
比较我使用标准浏览器事件和属性发现的内容...
主要使用第 5 代 Amazon Fire - Android 5.1.1 lollipop;
navigator.onLine
开始时为 false,这可能是不正确的(并且是只读的)。
如果在启动时连接了设备并且..
设备随后断开连接 - navigator.onLine
= false....
随后连接的设备 - navigator.onLine
= true.
如果在启动时设备断开连接并且...
随后连接的设备 - navigator.onLine
= true....
设备随后断开连接 - navigator.onLine
= false.
此后 navigator.onLine
反映设备连接状态的变化....有时。
因此,它开始时为 false(这可能不正确),然后在设备状态下一次更改时设置(不可靠)。
window.addEventListener("online",online.bind(this));
和
window.addEventListener("offline",offline.bind(this));
从未开火(在 Nook 上也看到过)。
window.ononline = function(){console.log("online");}
和
window.onoffline = function(){console.log("offline");}
两者都触发但不可靠,具体取决于设备中 wifi 切换的位置...因此该插件目前似乎是 Cordova 应用程序的唯一解决方案。