按理说将js文件放在网站body底部能让页面更快的呈现出来,但我发现基本上所有的网站都在头部放了不少的js文件,同时开源程序也是这样,不知道这样做是什么原因呢?
按理说将js文件放在网站body底部能让页面更快的呈现出来,但我发现基本上所有的网站都在头部放了不少的js文件,同时开源程序也是这样,不知道这样做是什么原因呢?
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
如果在<script>里面加async属性,可以异步加载js文件,加载完时解析HMTL停止,等执行完JS之后继续解析HTML。
如果<script>里面加defer属性,则异步加载js文件,等解析HTML结束之后,执行JS。
所以,哪怕是把<script>放在head中,也可以实现“js文件放在网站body底部”的效果。
“我发现基本上所有的网站都在头部放了不少的js文件,同时开源程序也是这样”,恐怖不是吧,bootstrap demo page就是在body尾部加载JS的。
另外,如果用AMD,CMD,JS哪怕在HEAD上加载,也不会影响HTML解析速度。