我正在测试大型网站的各种性能优化措施,并需要衡量从初始加载到文档元素出现的时间(即绘制时间)。是否有一种使用Chrome开发者工具分析器来完成这个任务的好方法?
为了澄清,我需要知道从加载到页面绘制完成的总时间。
我正在测试大型网站的各种性能优化措施,并需要衡量从初始加载到文档元素出现的时间(即绘制时间)。是否有一种使用Chrome开发者工具分析器来完成这个任务的好方法?
为了澄清,我需要知道从加载到页面绘制完成的总时间。
new Date().getTime
,然后相减以找出脚本完成所需的时间。但是,如果整个代码有延迟的话,这可能会受到影响。这不一定是最准确的方法,但它能完成任务。(不过,你可以创建一个独立的函数,独立于其他脚本计算时间。详见下文:)function findTime(done){
if (done==false){var time1 = new Date.getTime();}
if (done==true) {var time2 = new Date.getTime(); window.alert(time2-time1);}
}
done
是一个布尔参数,在脚本完成后添加。
2) Chrome拥有一个不错的开发者控制台,具备时间轴功能。基本上,打开Chrome浏览器并按下command+Shift+C(Windows系统为Control+Shift+C),然后单击时间轴按钮。接着,点击控制台底部的小圆点,它会变成红色。刷新页面,时间轴将开始收集您的脚本的各种计时数据。绘画事件显示为绿色。不幸的是,这是第三方解决方案。
最终,由于不同数量的延迟、不同的互联网连接速度、处理器速度等原因,没有直接测量此时间的方法。然而,这两种方法很接近实际答案。您可能需要在不同的浏览器和计算机上测试脚本。
<script type="text/javascript">
window.downloadComplete = new Date().getTime();
document.onload = function() { window.domParseComplete = new Date().getTime(); }
window.onload = function { window.renderComplete = new Date().getTime(); }
window.paintTime = window.renderComplete - window.downloadComplete;
</script>
我知道Chrome有类似的工具:按下"F12"(或使用"扳手"图标):
onload
触发的区别吗? - Ja͢ck