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);
},

代码有问题吗?

4

1 回答 1

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();
    }   
},

希望这对您有所帮助。

于 2013-09-14T12:16:14.990 回答