看很多网站都有多个域名,然后给用户展示每个域名的响应时间,用户自行选择哪个域名访问该站。很好奇,js可以实现ping?看了下源码,原来都是通过onerror来实现的。于是整理个简单的例子:
html代码:
<p><a href='http://www.webyang.net' target='_blank'>www.webyang.net</a> <span></span></p> <p><a href='http://www.csdn.net' target='_blank'>www.csdn.net</a> <span></span></p> <p><a href='http://www.yanghehong.cn' target='_blank'>www.yanghehong.cn</a> <span></span></p>
js代码:
var ping = 1, urlList = ['http://www.webyang.net','http://www.csdn.net','http://www.yanghehong.cn']; setInterval("ping++",100); newRequest(); function newRequest(){ for(var i=0;i<urlList.length;i++){ $("p").eq(i).find('span').html('测速中...'); $("p").eq(i).find('span').append("<img src="+urlList[i]+"/"+Math.random()+" width='1' height='1' onerror='autotest("+i+")' style='display:none'>"); } } function autotest(i){ $("p").eq(i).find("span").text(ping*100+"ms"); }
有点意思,记录下~
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/98543.html