gpt4 book ai didi

javascript - 使用 jquery 检查互联网是否处于事件状态

转载 作者:行者123 更新时间:2023-11-28 09:47:40 25 4
gpt4 key购买 nike

我有以下监听器用于检查用户是否具有事件的互联网连接:

$(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

谢谢。

最佳答案

onlineoffline 事件是 HTML5 的一部分,因此不适用于较旧的浏览器。

为了支持这些浏览器,您应该定期启动 hasInternets()(例如通过 setInterval),并相应地响应响应是否成功。

您还可能知道window.navigator.onLine,但请注意 incredible amount of browser variations/ bugs ;所以这是我会尽量避免的属性。

关于javascript - 使用 jquery 检查互联网是否处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11537810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com