html 发送ping帧,用JS实现ping的功能(JS ping url)

这是一个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);

}

}; 来一个实例:

$.ping({

url : 'http://www.example.com',

beforePing : function(){$('#msg').html('')},

afterPing : function(ping){$('#msg').html(ping)},

interval : 1

});


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部