这就是我在vanilla javascript中检查互联网连接的方法:
setInterval(function(){
if(navigator.onLine){
$("body").html("Connected.");
}else{
$("body").html("Not connected.");
}
},1000);
Run Code Online (Sandbox Code Playgroud)
我的项目中有角度控制器和模块.我应该把代码放在哪里?它应该在全局上下文中执行,而不是分配给某个控制器.是否有某种全球控制器?
我正在使用Angular 4进行应用程序开发.我需要检查网络连接是否可用,因为它有使用Angular for的任何连接问题.是否可以使用Angular 4.
我查了一下https://github.com/HubSpot/offline.我认为这对角4不起作用.任何人请建议.这是否可以为Angular 4或任何其他替代品使用offlinejs?
谢谢Sarath CM
我正在尝试编写一个组件来检测应用程序是在线还是离线,以便它可以触发另一个事件.是否有可以利用的内置功能?
可能重复:
Div为模态 - javascript
有没有办法以某种方式锁定Javascript中的页面,直到函数调用完成?我的想法就像一个半透明的灰色封面,可以防止任何其他用户操作,如鼠标悬停或按钮点击,直到当前请求完成处理.但是,外观与功能并不重要.
我找不到任何能做到这一点的事情.这个问题的大多数"解决方案"只是说等待加载其他HTML元素,直到你完成了你正在执行的任何处理,但在这种特殊情况下,所有选项都已经出现在屏幕上.我希望能够阻止用户从页面执行其他操作,直到当前请求完成.
这是检查应用程序在线或离线的代码:
this.online$ = Observable.merge(
Observable.of(navigator.onLine),
Observable.fromEvent(window, 'online').map(() => true),
Observable.fromEvent(window, 'offline').map(() => false)
)
this.online$.subscribe(isOnline=>{
if(isOnline){
console.log(isOnline);
}else{
console.log("you are offline");
console.log(isOnline);
}
});
Run Code Online (Sandbox Code Playgroud)
但它总是返回 true,这意味着他们在线,但这是错误的结果。我关闭了系统互联网,他们不太可能返回相同的结果(正确)。
angular ×3
angularjs ×1
html ×1
javascript ×1
networking ×1
rxjs ×1
typescript ×1
user-input ×1
wait ×1
web ×1