离线活动在Ionic移动应用程序上激活两次

时间:2016-04-27 14:14:53

标签: cordova ionic-framework cordova-plugins ionicpopup

在我的一个Ionic应用程序中,我需要检查设备上是否有网络连接。如果不是,我需要显示“网络连接不可用”的警报。所以我安装了Cordova的网络连接插件并使用了以下代码。但我认为离线事件发射两次。因为警报消息显示两次,而应用程序处于离线模式。

.run(function($ionicPlatform, $ionicPopup) {
    $ionicPlatform.ready(function() {

        document.addEventListener("offline", displayofflineAlert, false);

        function displayofflineAlert() {
            $ionicPopup.alert({
                title: "No Internet",
                content: "No Internet Connection available."
            })
            .then(function(result) {
                ionic.Platform.exitApp();
            });
        }
    });
})

不确定为什么会两次射击。我需要它一次开火。

2 个答案:

答案 0 :(得分:0)

一个可能的原因是,在项目的某个地方,你已经将插件的js文件拉了两次(Cordova应该为你自动执行此操作,但由于配置错误仍然可以执行此操作)检查。

如果您只是想快速修复,请将.add underscore.js添加到您的项目并使用:

document.addEventListener("offline", _.throttle(displayofflineAlert, 100), false);

答案 1 :(得分:0)

不要使用文件。用户角$窗口服务。这对我有用

app.run('$window', [function($window){

   $window.addEventListener('online', onOnline, false);

   function onOnline() {
                // do something
        }
 }])