导航器.在线不工作cordova 5.0.0
navigator.onLine not working cordova 5.0.0
我在检查设备是否没有互联网连接时遇到问题。我正在使用cordova 5.0.0 CLI。这是我的代码:
if(navigator.onLine) {
alert("online");
} else {
alert("offline");
window.open("404.html");
}
问题是:它总是正确的。我怎样才能修好它?我知道这个插件,但我不知道我怎么让它工作。我知道如何添加插件,但它结束了。有人可以帮助我得到这个插件工作,或替代代码来检查用户是否离线?提前感谢
Cordova插件在你的web应用程序和移动操作系统的本地api之间建立了一座桥梁。为了使用本机,你必须等到cordova准备好了。如果你想检查用户是在线还是离线你可以添加问题中链接的插件,然后像这样使用它:
首先创建一个函数,根据用户是否在线返回true
或false
:
function checkConnection(){
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
if(states[networkState].indexOf("WiFi") != -1 || states[networkState].indexOf("Cell") != -1)
return true;
return false;
}
当你得到设备准备事件:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// Now safe to use device APIs
var connected = checkConnection();//will return true or false
if(connected){
//user is online
}else{
//user is offline
}
}
也可以像这样直接监听online
和offline
事件:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// Now safe to use device APIs
document.addEventListener("online", onOnline, false);
document.addEventListener("offline", onOffline, false);
}
function onOnline() {
// User is Online
}
function onOffline() {
// User is Offline
}
两种方法都需要添加network-information
插件。
添加到您的index.html:
document.addEventListener("offline", function(){ navigator.notification.alert("No connection found") }, false);
如果没有网络连接,它会提醒你。
如果你没有通知插件:
document.addEventListener("offline", function(){ alert("No connection found") }, false);
add ",然后使用
if(windows.navigation.onLine){
alert('online!');
}
检查是否添加到config.xml
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
相关文章:
- Cordova ng路线工作不正常
- JSON:查询联接表不工作(Cordova Mobile)
- Javascript无法与Onsen一起在Cordova工作
- cordova背景地理定位无法在背景上工作
- 带有cordova的ios上的Jquery.text()无法正常工作
- 为什么我的代码可以在chrome上工作,而不是一次使用cordova编译
- Cordova iframe在iOS Safari中工作,但在Android中不起作用
- 带有Firebase的Cordova将无法正常工作
- Cordova / Phonegap iOS Safari和语音合成将无法正常工作
- Cordova/PhoneGap: setInterval() / setTimeout() 无法正常工作
- Phonegap/Cordova 2.9自定义插件创建.任何工作示例
- Cordova Android禁用后退按钮[不工作]
- cordova.js无法在远程页面上工作
- Cordova罗盘API(navigator.compass.watchHeading)不工作(错误代码3)
- Cordova+AngularJs路由不工作
- webkit playsinline在返回到cordova iOS应用程序中的页面时停止工作
- cordova插件文件在浏览器中无法正常工作
- 在线youtube视频没有'不能在iOS上的cordova应用程序中工作
- Cordova 3.5-移动系统浏览器中的Android开放链接根本无法工作
- 不能使活动在cordova工作与分析v4