【发布时间】:2015-07-30 22:31:13
【问题描述】:
我已经阅读了很多关于 jQuery.ready() 的内容,这会减慢您的页面速度。我的网站有一堆代码在 jQuery.ready() 内部运行,就像许多网站一样。
</body>
<script>
jQuery(document).ready(function() {
// Do some event binding and initialization.
});
</script>
我将此脚本放在<body> 标记的末尾,但为了安全起见,我将代码包裹在DOM ready 中。
现在我用http://www.webpagetest.org/ 测试我的页面,我注意到domContentLoaded 时间如下:
domContentLoaded
4.987s - 5.317s (0.330s)
现在我通过删除 jQuery.ready(function() {}); 来进行实验
</body>
<script>
// Do some event binding and initialization.
</script>
然后我再次测试页面。结果如下。
domContentLoaded
3.772s - 3.915s (0.143s)
执行时间下降到只有 0.1 秒,大约是 ~187ms。我是否正确地假设执行时间下降是因为代码没有在 jQuery.ready 内部执行,这在性能增益方面意味着什么,例如感知性能。用户是否觉得页面加载更快?
【问题讨论】:
-
您是否在测试之间清除浏览器缓存?
-
是的,我点击了网页测试上的清除缓存选项。
标签: javascript jquery html performance webpagetest