这是一个jquery的ping插件,实现了js来ping url的功能。当然这个和系统上的ping不是一回事,一个是ping使用icmp协议,一个是使用http协议,获取响应时间罢了。好了,上代码
$.ping = function(option) { var ping, requestTime, responseTime ; var getUrl = function(url){ //保证url带http:// var strReg="^((https|http)?://){1}" var re=new RegExp(strReg); return re.test(url)?url:"http://"+url; } $.ajax({ url: getUrl(option.url)+'/'+ (new Date()).getTime() + '.html', //设置一个空的ajax请求 type: 'GET', dataType: 'html', timeout: 10000, beforeSend : function() { if(option.beforePing) option.beforePing(); requestTime = new Date().getTime(); }, complete : function() { responseTime = new Date().getTime(); ping = Math.abs(requestTime - responseTime); if(option.afterPing) option.afterPing(ping); } }); if(option.interval && option.interval > 0) { var interval = option.interval * 1000; setTimeout(function(){$.ping(option)}, interval); // option.interval = 0; // 阻止多重循环 // setInterval(function(){$.ping(option)}, interval); } };
来一个实例:文章源自运维生存时间-https://www.ttlsa.com/dev/use-js-ping-url-ping-ip/
<div id="msg"></div> <script language="javascript" src="jquery.js"></script> <script language="javascript" src="ping.js"></script> <script> $.ping({ url : 'http://www.example.com', beforePing : function(){$('#msg').html('')}, afterPing : function(ping){$('#msg').html(ping)}, interval : 1 }); </script>
文章源自运维生存时间-https://www.ttlsa.com/dev/use-js-ping-url-ping-ip/ 文章源自运维生存时间-https://www.ttlsa.com/dev/use-js-ping-url-ping-ip/
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
2F
不错很有用,可以用这个做一个概念
1F
福建省快乐fsfsfs