我正在研究多个Javascript图表库的速度。我制作了一些测试页,4个图表,每个图表都包含Highcharts,Flot,D3,AmCharts,FusionCharts等库。
现在我想要每个页面运行100次,以获得每个库的单独加载速度和平均值。我甚至不确定这是否可能。
我考虑过做以下事情:
使用CURL(PHP)
加载带有图形的页面function getContents($url) {
$ch = curl_init();
$header = array(
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: en-us,en;q=0.5',
'Accept-Encoding: gzip,deflate',
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7',
'Keep-Alive: 115',
'Connection: keep-alive',
);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$result = curl_exec($ch);
curl_close($ch);
}
在页面本身上,使用Javascript捕获加载时间并将其写入PHP中的文件。
var loadTime = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart;
$.ajax({
type: "POST",
url: "SaveTime.php",
data: {action: "saveloadtime", time: loadTime}
})
.done(function(msg) {
});
然而,这只会运行一次,除此之外,我的服务器上的文件中没有任何结果。
我知道我可以使用Google Chrome console
,Firebug
或任何其他插件,但我不想手动获取速度,因为我有很多页面需要比较。
感谢任何帮助