在HTML中使用javascript
1.JavaScript文件应该放在网页的什么位置
JS文件放在网页的什么位置更为合适。一般来说,做前端开发有个最简单的原则:CSS放在页头,JavaScript放在页尾。那么究竟为什么这么放呢,这就是我们今天研究的主题——JavaScript文件应该放在网页的什么位置?
先JavaScript,然后html,最后CSS。那么这样的排列顺序有什么弊端呢?试想一下,浏览器加载网页,加载到JavaScript时,脚本非 常多,加载脚本要花很长一段时间,而这段时间中,因为还没有加载html代码,所以目前的网页显示为完全的空白,JS脚本阻塞了html的加载。等 JavaScript脚本终于加载完了,加载到html,但这时却会发现这些网页元素,没有任何样式,因为这时的CSS还没有开始加载,直到非常多的 html加载完毕才能开始加载样式,那么在这段时间中,用户看到的网页从一篇空白到一个完全没有样式的网页,这种用户体验当然不是我们想要的。
所以一个好的习惯就是先加载CSS,这样可以避免html出现无样式状态;将JavaScript放在最后,可以让网页尽快的呈现给用户,减少浏览者的等待时间。避免因为JS脚本阻塞网页的呈现。
2.script标签属性
- defer为true:延迟加载脚本,在文档完成解析完成开始执行,并且在DOMContentLoaded事件之前执行完成。
- async为true:异步加载脚本,下载完毕后再执行,在window的load事件之前执行完成
利用这两个属性异步加载js,还得了解它们的毛病:
- 使用defer属性,最好是外部的script
- 使用defer、async的脚本禁止使用document.write()方法