ios模拟器中的离线/在线活动

时间:2014-01-20 06:28:35

标签: javascript ios angularjs cordova

我有一个使用angularjs的phonegap 3.3应用程序。如果我在浏览器中运行应用程序,我可以收听“离线”和“在线”事件,但是当我使用ios(7)模拟器时,我会得到一些奇怪的事件序列,如下所示:

如果我关闭了wi-fi,我会在控制台中看到以下内容:

OFFLINE EVENT
ONLINE EVENT

如果我重新打开wi-fi,我会看到以下序列:

OFFLINE EVENT
ONLINE EVENT
OFFLINE EVENT
ONLINE EVENT

事件处理代码位于app.js:

var app = angular.module('test', []);

app.run(function($window, $rootScope) {
    $rootScope.online = navigator.onLine;

    $window.addEventListener("offline", function () {
        console.log("OFFLINE EVENT");
        $rootScope.$apply(function() {
            $rootScope.online = false;
        });
    }, false);
    $window.addEventListener("online", function () {
        console.log("ONLINE EVENT");
        $rootScope.$apply(function() {
            $rootScope.online = true;
        });
    }, false);
});

1 个答案:

答案 0 :(得分:0)

PhoneGap文档将这些事件作为document.addEventListener。电池事件是我使用窗口看到的唯一事件。

http://docs.phonegap.com/en/3.3.0/cordova_events_events.md.html#online