1、一般做法
一般我们会把所有的<script>
元素都应该放在页面的<head>
标签里,但由于是顺序加载,因此只有当所有JavaScript代码都被依次下载、解析和执行完之后,才开始加载<body>
标签里面的内容。
2、把<script>
标签放在<body>
标签最后面
这样会先加载、解析页面元素,而后再加载JS代码,直观表现上就是页面打开速度有所提升。当然需要注意的是,如果页面需要用到某个JavaScript文件,那这个JS文件的引用还是需要放在页面元素之前,如放在<head>
标签里。
3、加defer属性
在<script>
标签中加入defer属性,该defer属性相当于告诉浏览器立即下载脚本,但延迟执行。脚本会在整个页面元素解析完成后再运行。
4、加async属性
在<script>
标签中加入async属性,该属性与defer属性类似,相当于告诉浏览器立即下载脚本,但是是异步下载,下载顺序不确定,执行速度也不确定。
这个属性可用于在网络不通的环境下,需要引入某个互联网脚本资源的时候,依然可以快速打开页面,这样不至于因为个别脚本访问不到而阻塞后面资源的请求。