javascript - 数据加载cordova之前检查是否在线

标签 javascript angularjs cordova

我正在尝试使用 angularjs 创建一个 cordova 应用程序。我正在使用本地存储以及首次加载后存储的所有数据。 如果应用程序在没有互联网的情况下加载,我需要从本地存储加载数据,否则需要从互联网加载。

 onDeviceReady: function() {

     isOffline = 'onLine' in navigator && !navigator.onLine;  

}

我会在这里得到这个状态,但我的问题是, 我的 Angular Controller 在

之前开始加载数据
document.addEventListener('deviceready', this.onDeviceReady, false);

触发此事件, 如何使用 Angular JS 和 Cordova 应用线上线下逻辑?

最佳答案

您可以在 navigator && !navigator.onLine; 中的 'onLine' 上使用 $watch ,它将在每个摘要周期进行评估,并在以下情况下调用 watch 函数:值发生变化。

代码

$scope.$watch(function(){
   return 'onLine' in navigator && !navigator.onLine;
}, function(newValue, oldValue){
    if(newValue) {//it means user is online
       //do code here
    }
});

关于javascript - 数据加载cordova之前检查是否在线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31271648/

相关文章:

javascript - Windows 7 上的 ipc 传输 zmq.connect() 函数失败

php - 谷歌图表更改日期格式

javascript - angularJS 将变量传递给 ui.bootstrap 模板

angularjs - 当选定的 ng-option 更改时获取值

javascript - Phonegap FileReader readAsText 返回 null 但 readAsDataURL 有效

javascript - 新的phonegap项目失败并出现TypeError : undefined is not a function on line 1

javascript - 具有不同设置的多个 Bootstrap 轮播

javascript - 使用 angular $resource TypeScript 获取字符串数组

ios - Cordova:检查用户是否已启用推送通知的简洁方法

javascript,按下按钮(多个按钮)时显示文本,但一次仅显示一个文本