Javascript 如果我失去internet连接,我想显示一条警报消息状态
使用AngularJS,如果我在应用程序中失去互联网连接,如何显示警报消息状态 我正在研究Angularjs Express框架和API。 在使用应用程序时,如果我失去了互联网连接,我需要弹出一个警报,我应该停止调用HTTP请求,直到我收到正确的互联网连接并恢复工作 我甚至尝试了离线。我无法解决请如果有任何简单的方法,让我知道谢谢。在标题中,我添加了所有这些Javascript 如果我失去internet连接,我想显示一条警报消息状态,javascript,angularjs,Javascript,Angularjs,使用AngularJS,如果我在应用程序中失去互联网连接,如何显示警报消息状态 我正在研究Angularjs Express框架和API。 在使用应用程序时,如果我失去了互联网连接,我需要弹出一个警报,我应该停止调用HTTP请求,直到我收到正确的互联网连接并恢复工作 我甚至尝试了离线。我无法解决请如果有任何简单的方法,让我知道谢谢。在标题中,我添加了所有这些 <script src="/javascripts/plugins/offlinechecking/offline.min.js"&
<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个控制器。在每个文件中,我必须检查,我希望这应该是基于你的评论的全局更新