欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于script在页面的最佳位置以及html执行顺序

程序员文章站 2022-05-11 13:07:43
...

首先需要知道:

html文件是自上而下的执行方式,但引入的css和javascript的顺序有所不同,css引入执行加载时,程序仍然往下执行,而执行到<script>脚本是则中断线程,待该script脚本执行结束之后程序才继续往下执行。

    所以,大部分网上讨论是将script脚本放在<body>之后,那样dom的生成就不会因为长时间执行script脚本而延迟阻塞,加快了页面的加载速度。

    但又不能将所有的script放在body之后,因为有一些页面的效果的实现,是需要预先动态的加载一些js脚本。所以这些脚本应该放在<body>之前。

    其次,不能将需要访问dom元素的js放在body之前,因为此时还没有开始生成dom,所以在body之前的访问dom元素的js会出错,或者无效。

<!DOCTYPE html>
<html>
	<head></head>
	<script type="text/javascript">
		document.getElementById("text").innerHTML = "Test script";
	</script>
	
	<body>
		<h1 id="text"></h1>
	</body>
</html>

控制台将出现:Uncaught TypeError: Cannot set property 'innerHTML' of null
    at test.html?__hbt=1537172343687:5

将script脚本放在body之后:

<!DOCTYPE html>
<html>
	<head></head>
	
	<body>
		<h1 id="text"></h1>
	</body>
	
	<script type="text/javascript">
		document.getElementById("text").innerHTML = "Test script";
	</script>
</html>

关于script在页面的最佳位置以及html执行顺序

显示正常。

总结:   参考认为script放置位置的原则“页面效果实现类的js应该放在body之前,动作,交互,事件驱动,需要访问dom属性的js都可以放在body之后”

 

参考自:http://www.cnblogs.com/iamwangxupeng/p/4950255.html

相关标签: script位置