有没有办法可以从Jquery获取URL或页面的加载时间?例如,我向“http://www.yahoo.com”发出ajax请求,我想知道完全加载页面需要多长时间。我知道相同的域策略。但我只想写一个简单的javascript实用程序,它可以让我知道页面加载时间。
我知道有像YSlow等工具,但是当网页加载时间超过某个阈值时,我希望此实用程序在浏览器选项卡和警报(javascript)警报中连续运行。
谢谢, J
答案 0 :(得分:3)
这样的事情应该很好用。
var startTime;
$.ajax({
// url, type, dataType, etc
beforeSend: function(xhr){
startTime = +new Date();
}
complete: function(xhr, state){
var latency = (+new Date()) - startTime;
window.console.log(latency);
}
});
答案 1 :(得分:0)
我使用$ .ajax你可以在“beforeSend”选项调用的函数中设置一个带开始时间的变量,如:
var start = (new Date()).getTime();
然后使用“完整”选项设置另一个变量,如:
var finish= (new Date()).getTime();
然后比较两者得到的秒数如下:
var secs = (finish-start)/1000;
或者一旦设置了start变量,使用“setInterval()”来检查当前时间的起始变量,直到它超过阈值。
但是你知道$ .ajax中也有“超时”选项,这里有很好的介绍,可能会有所帮助: