Javascript 定期Ping并在出错时显示div
我目前有一个图像被ping,以便仅在本地内容可用时显示div 但我认为一个更好的实现是定期检查ping,间隔30秒,如果映像没有成功ping,则显示一个#offline div。这是更好的,因为它认为连接的状态可能会改变,而页面不会被重新加载 原文:Javascript 定期Ping并在出错时显示div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我目前有一个图像被ping,以便仅在本地内容可用时显示div 但我认为一个更好的实现是定期检查ping,间隔30秒,如果映像没有成功ping,则显示一个#offline div。这是更好的,因为它认为连接的状态可能会改变,而页面不会被重新加载 原文: function ImgLoad(myobj){ var randomNum = Date.now() || new Date().getTime(); var oImg=new Image; oImg.src="http://1
function ImgLoad(myobj){
var randomNum = Date.now() || new Date().getTime();
var oImg=new Image;
oImg.src="http://192.168.8.1/images/ping2.jpg"+"?rand="+randomNum;
oImg.onload=function(){$("#online").show();}
}
我想我已经设法让函数每30秒轮询一次,但是我无法在出错时显示div,而不是它是否成功ping
function checkping(){
function ImgLoad(myobj){
var randomNum = Date.now() || new Date().getTime();
var oImg=new Image;
oImg.src="http://192.168.8.1/images/ping2.jpg"+"?rand="+randomNum;
oImg.onload=function(){$("#online").show();}
}
}
setInterval(function(){
checkping()}, 30000)
也许可以考虑改为“智能”轮询,它以递增的间隔而不是固定的间隔检查服务器上的映像
此链接可能有助于:
我无法在出错时显示div
您已经在使用.onload
,只需使用相应的.onerror
:
oImg.onerror=function(){$("#error").show();}
可能重复的