1

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

.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();
            });
        }
    });
})

不知道为什么它会发射两次。我需要它开火一次。

4

2 回答 2

0

不要使用文档。用户角度 $window 服务。这对我有用

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

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

   function onOnline() {
                // do something
        }
 }])
于 2017-08-18T23:49:15.940 回答
0

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

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

document.addEventListener("offline", _.throttle(displayofflineAlert, 100), false);
于 2016-04-28T04:34:01.723 回答