使用jquery检查internet是否处于活动状态
checking if internet is active using jquery
我有以下监听器来检查用户是否有活动的互联网连接:
$(function() {
$( window ).bind(
"online offline",
function( event ){
console.log("-------------------window bind------------------------------");
if(hasInternets()){
console.log("window bind online---------------------------------------------");
sendAllPendingData();
}else {
console.log("window bind offline--------------------------------------------");
}
}
);
});
function hasInternets() {
console.log("hasInternets: " + window.location.href.split("?")[0] + "?" + Math.random());
var s = $.ajax({
type: "HEAD",
url: window.location.href.split("?")[0] + "?" + Math.random(),
async: false
}).status;
console.log("s: " +s);
//thx http://www.louisremi.com/2011/04/22/navigator-online-alternative-serverreachable/
return s >= 200 && s < 300 || s === 304;
}
它在我的笔记本电脑上运行良好。我不确定它在其他机器和设备上是否正常工作。我对这方面不了解。因此,如果有人能提供建议,我将不胜感激。顺便说一句,在我做研究的时候,我在jquery插件上偶然发现了这个TrueOnline,有人试过吗?http://archive.plugins.jquery.com/project/trueonline
谢谢。
online
&offline
事件是HTML5的一部分,因此在旧的浏览器上不起作用。
为了支持这些浏览器,您应该定期启动hasInternets()
(例如通过setInterval
),并根据响应是否成功做出相应响应。
您也可能知道window.navigator.onLine
,但请注意浏览器的变化/错误数量之多令人难以置信;所以这是我尽量避免的财产。
相关文章:
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- Angular+bootstrap ui,检查当前选项卡是否已处于活动状态
- 使用jquery检查internet是否处于活动状态
- 查看CSS:invalid选择器当前是否在JavaScript中处于活动状态
- Facebook API - 检测会话是否处于活动状态
- 如何确定当前路由在 React 中是否处于活动状态
- 检查类是否处于活动状态,如果是,请运行外部.js文件?可能
- 检测浏览器选项卡是否处于活动状态或用户是否已切换
- 检查选项卡是否打开为活动状态
- 检查是否有任何输入聚焦或处于活动状态,而不是在表单中
- jQuery webcam/flash:如何检测网络摄像头是否处于活动状态
- 检查按钮是否处于活动状态
- 如何检查浏览器的“mywindow”选项卡在 asp.net 4.0中是否处于活动状态
- Zurb Foundation Top Bar & jQuery - 检查移动导航是否处于活动状态
- 检测文本溢出:省略号在输入字段上是否处于活动状态
- 了解开发者控制台在当前浏览器(JavaScript)中是否处于活动状态
- Firefox API检查选项卡是否处于活动状态
- 是否有任何方法可以检测IE8中该窗口当前处于活动状态
- 检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]
- 检查选项卡是否存在并使其处于活动状态;否则创建它