2014-01-20 29 views
0

我有一個使用angularjs的phonegap 3.3應用程序。如果我在瀏覽器中運行應用程序,我可以收聽'離線'和'在線'事件,但是當我使用ios(7)模擬器時,我得到一些奇怪的事件序列,如下所示:ios模擬器中的離線/在線事件

如果我打開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); 
}); 

回答