Phonegap Online事件仅在状态更改后触发

时间:2013-09-14 12:13:30

标签: cordova cordova-2.0.0

我必须检查应用启动时的网络连接,但PhoneGap在线/离线事件在任何状态更改后都会触发。如果应用程序以在线模式启动,则联机事件不会触发,直到它脱机,然后联机。

这是代码,

initialize: function() {
    this.bindEvents();
},

bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);
},

onDeviceReady: function() {        
    document.addEventListener("offline", this.onOffline, false);
    document.addEventListener("online", this.onOnline, false);
},

代码错了吗?

1 个答案:

答案 0 :(得分:3)

在线/离线事件仅在状态更改时触发。 如果您需要检查特定点的连接,可以使用navigator.network.connection.type

initialize: function() {
    this.bindEvents();
},

bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);
},

onDeviceReady: function() {        
    document.addEventListener("offline", this.onOffline, false);
    document.addEventListener("online", this.onOnline, false);
    if((navigator.network.connection.type).toUpperCase() == "NONE" && 
       (navigator.network.connection.type).toUpperCase() == "UNKNOWN") {
        this.onOffline();
    }
    else {
        this.onOnline();
    }   
},

希望这会对你有所帮助。