PhoneGap(Cordova)离线事件监听器无法正常工作

时间:2014-08-22 21:13:22

标签: cordova connection offline

我想在PhoneGap中检测离线状态。安装网络信息插件后,我添加了以下代码:

    function onOnline () {
        console.log('You are online'); 
    }
    function onOffline () {
        console.log('You are offline'); 
    }
    function bootApp() {
        /* App initialization logic */ 
    }

    document.addEventListener("online", onOnline, false);
    document.addEventListener("offline", onOffline, false);
    document.addEventListener('deviceready', bootApp, false);

在线事件会触发,但离线事件不会触发。起初我以为是因为我需要将离线/在线事件监听器放在deviceready中。我尝试了这个,结果是一样的。

2 个答案:

答案 0 :(得分:0)

当前连接插件使用类似以下内容来检测网络

document.addEventListener("deviceready", onDeviceReady, false);

// device APIs are available
//
function onDeviceReady() {
    checkConnection();
}

    function checkConnection() {
        if(navigator.connection.type==0)
        {
            alert("Offline");
        }
        else if(navigator.connection.type=='none')
        {
            alert("Offline");

        }
        else
        {
            alert("Online");

        }
    }

您可以在此处查看详细信息http://cordova.apache.org/docs/en/3.3.0/cordova_connection_connection.md.html#Connection

答案 1 :(得分:0)

您需要将网络信息插件添加到config.xml文件中以获取phonegap ver 3及更高版本。

    <gap:plugin name="org.apache.cordova.network-information"/>