Событие Phonegap Online срабатывает только после изменения состояния

Я должен проверить сетевое подключение при запуске приложения, но событие 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);
},

Что не так с кодом?


person Community    schedule 14.09.2013    source источник


Ответы (1)


Онлайн/оффлайн события запускаются только при изменении состояния. Если вам нужно проверить подключение в определенный момент, вы можете использовать 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();
    }   
},

Надеюсь, это поможет вам.

person Ashis Kumar    schedule 14.09.2013
comment
Спасибо, я думал, что это устарело - person ; 14.09.2013