使用JavaScript检查互联网连接
Checking internet connection using JavaScript
问题
如果WiFi关闭[即没有互联网连接],我想显示警报。在我的网页中,我有很多按钮、弹出窗口等。用户可以在离线时点击任何东西。但我想显示API调用是否失败。我可以在每次点击中检查navigator.onLine
。但我不想写函数调用或行数。有没有什么常用jQuery、JS、Ajax的方法?
"当用户操作导致呼叫失败时,应显示警报"
类似于有错误的$.ajax
。它不应该与任何div/页面绑定。
嗨,我尝试了以下操作:
navigator.onLine // It works fine
我使用了下面提到的那个。但它不起作用。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><'/script>')</script>
我提到的链接
是否检测到Internet连接处于脱机状态?
使用jquery 检查互联网连接
还有更多。
有什么建议吗?
navigator.online检查是否有网络,而不检查互联网。如果你连接到一个没有互联网的网络,它仍然会返回真正的
您可以使用ajax请求检查您的域
setInterval(function() {
$.ajax({
type: "HEAD",
url: document.location.pathname + "?param=" + new Date(),
error: function() {
console.log(false);
},
success: function() {
console.log(true);
}
});
}, 1000);
您可以在此处使用本机setInterval
函数。例如,在document.ready
函数中,或者在页面加载时提前加载的其他地方,使用一个设置的间隔:
setInterval(callbackFunction:,1000/*<--run function every interval in ms*/);
并编写回调函数(可能在setInteraval
之上),类似于:
var callbackFunction = function(){
if (navigator.online){
//manipulate the DOM
}
};
如果您操作DOM,请记住将其放在document.ready()
函数中,并且回调函数(如果在setInterval()
调用之外定义)可能应该首先声明。
我发现了检查是否存在与YouTube的连接(例如)的最简单方法——从该网站加载一些javascript库,并检查它是否正确加载:
异步加载示例库(可能在文档中的脚本标记中):
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
该脚本不足1kB。当您需要在javascript中检查它时,请使用以下命令:
if (window.YT)
...
相关文章:
- 我们如何在互联网断开连接或用户关闭选项卡/浏览器时调用注销servlet
- 当没有互联网连接时,谷歌地图Java脚本API处理
- 如果没有互联网连接,Android WebView离线消息
- 捕获”;没有互联网连接”;AngularJS中
- 我如何通过从服务器调用gif来检查是否有互联网连接
- 如果没有互联网连接,请隐藏iframe
- 如何捕捉不稳定的互联网连接
- 使用jquery检查互联网连接
- 使用 html5 的互联网连接代码
- 如果没有互联网连接,我想显示吐司,不知道该怎么做
- Jquery 移动错误消息,当没有互联网连接加载谷歌地图
- Jquery移动检查时没有互联网连接显示错误消息,而不是加载谷歌地图
- 当互联网连接丢失时,如何从 Ajax 调用中获取信息
- Angular js,如何在调用url之前检查用户是否有互联网连接
- 互联网连接检查不起作用
- 基于英特尔 xdk html5 的应用程序只能在启用互联网连接时工作
- 在javascript中检查互联网连接的最佳实践
- 如何检查移动互联网连接
- 使用 JavaScript 检测互联网连接
- Chrome操作系统,快速判断是否通过Chrome扩展连接互联网