2

loadspeed.js 时间是否正确?

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

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 开发人员工具栏,我可以看到这一点(两次运行几乎相同) 工具栏结果

如您所见,我没有相同的结果(注意:每次),它最终建议 loadspeed测量 DOMContentLoaded Event

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

也许我错了,但简单地说,我怎样才能测量页面加载时间?

4

1 回答 1

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);
    });
};
于 2013-04-19T20:48:17.627 回答