为什么script标签要放在body前,而不是head中?
2018-02-25 10:01
295 查看
按照传统的做法,所有script元素都应该放在页面的head元素中,这种做法的目的就是把所有外部文件(包括css和JavaScript文件)的引用都放在相同的地方,可是,在文档的head元素中包含所有JavaScript文件,意味着必须等到全部JavaScript代码都被下载、解析和执行完成之后,才能开始呈现页面内容(浏览器在遇到body标记时才开始呈现内容)。
对于那些需要很多JavaScript代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口中将是一片空白。为避免这个问题,现代web应用程序一般都把全部JavaScript引用放在<body>元素中页面内容的后面。
——《JavaScript高级程序设计(第3版)》 12页
位于head块中的脚本会导致浏览器无法并行加载其他文件(如图像或其他脚本)。一般来说,根据HTTP规范,浏览器每次从同一个域名中最多只能同时下载两个文件。而在下载脚本期间,浏览器不会下载其他任何文件,即使是来自不同域名的文件也不会下载,所有其他资源都要等脚本加载完毕后才能下载。
——《JavaScript DOM编程艺术(第2版)》 73页
对于那些需要很多JavaScript代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口中将是一片空白。为避免这个问题,现代web应用程序一般都把全部JavaScript引用放在<body>元素中页面内容的后面。
——《JavaScript高级程序设计(第3版)》 12页
位于head块中的脚本会导致浏览器无法并行加载其他文件(如图像或其他脚本)。一般来说,根据HTTP规范,浏览器每次从同一个域名中最多只能同时下载两个文件。而在下载脚本期间,浏览器不会下载其他任何文件,即使是来自不同域名的文件也不会下载,所有其他资源都要等脚本加载完毕后才能下载。
——《JavaScript DOM编程艺术(第2版)》 73页
相关文章推荐
- 学习笔记--javascript 的<script></script>放在body和<head></head>的区别
- 把 Script 标签 放在页面的最底部的 body 封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?
- 为什么js代码块有时候不起作用,需要放在body标签中
- js代码放在head标签与放在body标签的区别
- script标签放在body标签前后的区别
- 为什么js放在head部分没有反应,必须放在body部分下才会起作用
- js代码放在head与body中的区别
- 应该把script标签放在哪里
- script标签到底该放在哪里
- script 写在body和head中的区别
- <script>放在head或者body中出现的问题
- JavaScript脚本可以放在网页的head里或者body部分,而且效果也不相同。
- 为什么 script 标签不能写成自关闭形式
- 页面标签<head></head>之间与<body></body>之间放JS有区别吗?
- script 写在body和head中的区别
- script标签到底该放在哪里
- script 写在body和head中的区别
- js放在head里和body里的差别
- JS 脚本应该放在页面哪个位置 head body foot
- javascript脚本放在HTML中的<head>和<body>的区别: