使用jquery的目标页面或URL的页面加载时间

时间:2012-08-03 06:30:33

标签: javascript jquery jquery-plugins page-load-time

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

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

谢谢, J

2 个答案:

答案 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中也有“超时”选项,这里有很好的介绍,可能会有所帮助:

Determine if $.ajax error is a timeout