有没有办法从 Jquery 获取 URL 或页面的加载时间?例如,我向“http://www.yahoo.com”发出 ajax 请求,我想知道完全加载页面需要多长时间。我知道相同的域策略。但我只想编写一个简单的 javascript 实用程序,可以让我知道页面加载时间。
我知道有 YSlow 等工具,但我希望这个实用程序在浏览器选项卡中连续运行,并在页面加载时间超过某个阈值时发出警报(javascript)警报。
谢谢,J
有没有办法从 Jquery 获取 URL 或页面的加载时间?例如,我向“http://www.yahoo.com”发出 ajax 请求,我想知道完全加载页面需要多长时间。我知道相同的域策略。但我只想编写一个简单的 javascript 实用程序,可以让我知道页面加载时间。
我知道有 YSlow 等工具,但我希望这个实用程序在浏览器选项卡中连续运行,并在页面加载时间超过某个阈值时发出警报(javascript)警报。
谢谢,J
像这样的东西应该很好用。
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);
}
});
如果您使用的是 $.ajax,您可以在“beforeSend”选项调用的函数中设置一个带有开始时间的变量,例如:
var start = (new Date()).getTime();
然后使用“完整”选项设置另一个变量,例如:
var finish= (new Date()).getTime();
然后比较两者以获得秒数,例如:
var secs = (finish-start)/1000;
或者,一旦您设置了开始变量,使用“setInterval()”来检查开始变量与当前时间,直到它超过阈值。
但是您知道 $.ajax 中也有“超时”选项,这里对此进行了很好的介绍,并且可能会有所帮助: