loadspeed.js时间:onload,DomContentLoaded还是别的什么?

时间:2013-04-11 15:30:34

标签: javascript phantomjs headless

loadspeed.js时间是否正确?

因为我在Chrome中的loaspeed.js和developpor工具栏之间有不同的结果。

var page = require('webpage').create(),
    system = require('system'),
    t, address;

page.viewportSize = { width: 1024, height: 768 };

if (system.args.length === 1) {
    console.log('Usage: loadspeed.js <some URL>');
    phantom.exit(1);
} else {
    t = Date.now();
    address = system.args[1];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('FAIL to load the address');
        } else {
            t = Date.now() - t;
            console.log('#1 Loading time ' + t + ' msec');
            t = Date.now();
             page.open(address, function (status) {
            if (status !== 'success') {
                console.log('FAIL to load the address');
            } else {
                t = Date.now() - t;
                console.log('#2 Loading time ' + t + ' msec');  
            }
            phantom.exit();
        });
        }
    });
}

运行脚本给我

>phantomjs.exe loadspeed.js http://www.google.com
#1 Loading time 348 msec
#2 Loading time 202 msec

在私有模式下使用Chrome开发工具栏,我可以看到这一点(两次运行几乎相同) toolbar result

正如您所看到的,我没有相同的结果(注意:每次)并最终建议表示已加载的mesure DOMContentLoaded事件

该脚本中是否有“未配置”功能?

也许我错了,但简单地说,我如何测量页面加载时间?

1 个答案:

答案 0 :(得分:2)

在调用page.open:

之前尝试此操作
page.onInitialized = function() {
    page.evaluate(function() {
        document.addEventListener('load', function() {
            t = Date.now() - t;
            console.log('#1 Loading time ' + t + ' msec');
        }, false);
    });
};