0

有没有办法从 Jquery 获取 URL 或页面的加载时间?例如,我向“http://www.yahoo.com”发出 ajax 请求,我想知道完全加载页面需要多长时间。我知道相同的域策略。但我只想编写一个简单的 javascript 实用程序,可以让我知道页面加载时间。

我知道有 YSlow 等工具,但我希望这个实用程序在浏览器选项卡中连续运行,并在页面加载时间超过某个阈值时发出警报(javascript)警报。

谢谢,J

4

2 回答 2

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);
    }
});
于 2012-08-03T08:01:51.373 回答
0

如果您使用的是 $.ajax,您可以在“beforeSend”选项调用的函数中设置一个带有开始时间的变量,例如:

var start = (new Date()).getTime();

然后使用“完整”选项设置另一个变量,例如:

var finish= (new Date()).getTime();

然后比较两者以获得秒数,例如:

var secs = (finish-start)/1000;

或者,一旦您设置了开始变量,使用“setInterval()”来检查开始变量与当前时间,直到它超过阈值。

但是您知道 $.ajax 中也有“超时”选项,这里对此进行了很好的介绍,并且可能会有所帮助:

确定 $.ajax 错误是否超时

于 2012-08-03T06:47:10.057 回答