`

jquery插件:用JS实现ping的功能(JS ping url)转

阅读更多

 

01. $.ping = function (option) 
02. {
03.      var ping, requestTime, responseTime ;
04.      var getUrl = function (url){    //保证url带http://
05.          var strReg= "^((https|http)?://){1}"
06.          var re= new RegExp(strReg); 
07.          return re.test(url)?url: "http:// " +url;
08.      }
09.      $.ajax({
10.          url: getUrl(option.url)+ '/' + ( new Date()).getTime() + '.html' //设置一个空的ajax请求
11.          type: 'GET' ,
12.          dataType: 'html' ,
13.          timeout: 10000,
14.          beforeSend : function () 
15.          {
16.              if (option.beforePing) option.beforePing();
17.              requestTime = new Date().getTime();
18.          },
19.          complete : function () 
20.          {
21.              responseTime = new Date().getTime();
22.              ping = Math.abs(requestTime - responseTime);
23.              if (option.afterPing) option.afterPing(ping);
24.          }
25.      });
26.        
27.      if (option.interval && option.interval > 0)
28.      {
29.          var interval = option.interval * 1000;
30.          setTimeout( function (){$.ping(option)}, interval);
31. //      option.interval = 0;        // 阻止多重循环
32. //      setInterval(function(){$.ping(option)}, interval);
33.      }
34. };

应用举例:

 

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics