Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果我失去internet连接,我想显示一条警报消息状态_Javascript_Angularjs - Fatal编程技术网

Javascript 如果我失去internet连接,我想显示一条警报消息状态

Javascript 如果我失去internet连接,我想显示一条警报消息状态,javascript,angularjs,Javascript,Angularjs,使用AngularJS,如果我在应用程序中失去互联网连接,如何显示警报消息状态 我正在研究Angularjs Express框架和API。 在使用应用程序时,如果我失去了互联网连接,我需要弹出一个警报,我应该停止调用HTTP请求,直到我收到正确的互联网连接并恢复工作 我甚至尝试了离线。我无法解决请如果有任何简单的方法,让我知道谢谢。在标题中,我添加了所有这些 <script src="/javascripts/plugins/offlinechecking/offline.min.js"&

使用AngularJS,如果我在应用程序中失去互联网连接,如何显示警报消息状态

我正在研究Angularjs Express框架和API。 在使用应用程序时,如果我失去了互联网连接,我需要弹出一个警报,我应该停止调用HTTP请求,直到我收到正确的互联网连接并恢复工作

我甚至尝试了离线。我无法解决请如果有任何简单的方法,让我知道谢谢。在标题中,我添加了所有这些

<script src="/javascripts/plugins/offlinechecking/offline.min.js"></script>
<link rel="stylesheet" href="/stylesheets/themes/offline-theme-chrome.css" />
<link rel="stylesheet" href="/stylesheets/themes/offline-language-english.css" />
<script>
  Offline.options = {
    checkOnLoad: false,
    interceptRequests: true,
    reconnect: {
      initialDelay: 3,
      delay: (1.5 * last delay, capped at 1 hour)
    },
    requests: true,
    game: false
</script>

脱机。选项={
checkOnLoad:false,
答:对,,
重新连接:{
首字母延迟:3,
延迟:(1.5*最后一次延迟,上限为1小时)
},
请求:对,
游戏:错

您可以使用在线和离线事件:

app.run(function($window, $rootScope) {
      $rootScope.online = navigator.onLine;
      $window.addEventListener("offline", function () {
        $rootScope.$apply(function() {
          $rootScope.online = false;
        });
      }, false);
      $window.addEventListener("online", function () {
        $rootScope.$apply(function() {
          $rootScope.online = true;
        });
      }, false);
});
更多信息:

此外,您没有关闭
脱机。选项
对象:

Offline.options = {
// No closing }.
您的选择:

  • 在窗口、文档或document.body上添加EventListener

  • 在文档或上设置.ononline或.onoffline属性
    将document.body转换为JavaScript函数对象


  • HTML标记中的标记

我将演示最简单的方法

在你的控制器

document.body.onoffline = function() {
   alert('You are offline now');
   $scope.connection = 'offline' 
}

document.body.ononline = function() {
   alert('You are online again');
   $scope.connection = 'online' 
}
在尝试发送请求之前,请选中
$scope.connection
变量


评论更新1

如果需要将变量设置为全局变量,请在工厂中进行设置

myApp.factory('connectionStatus', function(){
   var connection;

   return connection;
})
现在,将这个工厂注入到您需要使用它的任何地方。这就是它如何进入您设置事件的主控制器的方式

myApp.controller('mainController', function($scope, connectionStatus) {
    document.body.onoffline = function() {
           alert('You are offline now');
           connectionStatus = 'offline' 
    }
})

这会有帮助吗?你能为你的答案添加间隔任务吗?@JoaozitoPolo当然可以。嗨,如果我要检查什么
$scope.connection
变量,我有13个控制器。在每个文件中,我必须检查,我希望这应该是基于你的评论的全局更新