在线离线EventListener无法正常工作

时间:2015-01-01 07:34:22

标签: cordova

我正在使用在线离线EventListener,但它不是工作事件。 我在代码之前或代码之后放置了cordova.js

    document.addEventListener("offline", getSettinglocally, false);
    document.addEventListener("online", getSettingremotly, false);

deviceReady EventListener工作正常

2 个答案:

答案 0 :(得分:1)

offlineonline个事件是此(org.apache.cordova.network-information)插件的一部分。
要使这些事件起作用,您需要安装插件。

如果您需要有关如何将插件安装到Cordova项目的一些指导,请查看this link

答案 1 :(得分:1)

这些事件不会在应用程序加载时触发。它们用于在应用程序完全加载并正在使用后捕获这些事件。如果要在应用程序加载时捕获网络状态,请使用以下内容:

initialConnection: function() {
    var networkState = navigator.connection.type;

    var states = {};
    states[Connection.UNKNOWN]  = false;
    states[Connection.ETHERNET] = true;
    states[Connection.WIFI]     = true;
    states[Connection.CELL_2G]  = true;
    states[Connection.CELL_3G]  = true;
    states[Connection.CELL_4G]  = true;
    states[Connection.CELL]     = true;
    states[Connection.NONE]     = false;
    global.connectionStatus = states[networkState];
    app.connectionStatus(global.connectionStatus);
    if(global.connectionStatus) {
       //do something when connected
    }
    else{
        //do something else if not
    }
}

正如另一个答案所述,您需要安装网络信息插件。