问题
我想在WiFi关闭时显示警报[即没有网络连接]。在我的网页中,我有许多按钮,弹出窗口等。用户可以在离线时点击任何内容。但我想表明API调用是否失败。我可以在每次点击检查navigator.onLine
。但我不想写多少函数调用或行。有没有办法通常使用jQuery,JS,Ajax?
“当用户操作导致呼叫失败时,应显示ALERT”
像$.ajax
一样有错误。它不应该与任何div / page绑定。
嗨,我尝试过以下方法:
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>
我提到的链接
Detect that the Internet connection is offline?
Check Internet connectivity with jquery
还有一些。
有什么建议?
navigator.online检查是否有网络,不检查互联网。如果您连接到没有互联网的网络,它仍将返回true
您可以使用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*/);
并编写你的回调函数(可能在qazxsw poi之上),如:
setInteraval
如果你操纵DOM,请记住将它放在var callbackFunction = function(){
if (navigator.online){
//manipulate the DOM
}
};
函数中,并且如果在document.ready()
调用之外定义的回调函数可能应该首先声明。