javascript - HTML 文件脚本和 CSS 放置

标签 javascript html css dom browser

我在看Doug Crockford's Theory of DOM视频,在 16:50,他谈到了 <script> 的放置标签和 CSS <link> .他提到放置 <script src>尽可能靠近 body 底部,并且<link>尽可能高的头部。由此,我有几个问题:

1) 我通过教程学习了 JavaScript。许多程序将它们的 JavaScript 放在它们的 <head> 中CSS <style> 之后的标签标签。他(2006 年?)视频中的信息现在过时了吗?

2) 这些规则是否适用于 JavaScript <script type="text/javascript">和 CSS <style>标签也是如此。如果是这样,为什么,这些标签和 <script src> 之间有什么区别?和 <link>标签?

3) 他说“尽可能减少脚本文件的数量”......但是如果我正在编写一个大型元素,我想避免将所有 JavaScript 集中在一起......我宁愿更喜欢将我的代码分离到有意义的文件中。这有多大影响?

他提到放置会影响性能,因为“浏览器进行增量加载的方式对这些 Assets 的放置非常敏感。”然而,虽然我没有做过严格的性能测试,但我没有注意到放置差异对性能有很大的影响。他没有进一步解释这如何影响性能以及为什么它如此重要。

最佳答案

1) 不,信息不一定过时,但很多人只是一次加载所有资源。通常建议在 <body> 的末尾加载脚本因为浏览器停止加载引用的文件,从而延长了加载时间。样式表包含在文件的开头,以便元素在文档加载时设置样式,而不是在最后一次全部设置。

2) <script src><link>标签需要打开新连接,从而减慢加载时间。 <script type><style>标记是内联的,因此不需要打开和等待新连接。

3) 每个脚本文件都是另一个必须打开的连接。打开的连接越少,网站加载速度越快。

总体而言,这些规则对于减少较慢连接或较大元素的加载时间更为有效。

关于javascript - HTML 文件脚本和 CSS 放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28822803/

相关文章:

javascript - 将 CSS 应用于 ng-repeat 中的唯一 li

jquery - 切换附加到最近类的 div 元素

javascript - 如何在 Vuejs 中从其父组件设置嵌套组件的样式?

javascript - jQuery:获取对点击事件的引用并稍后触发它?

javascript - 当一个输入与另一个输入的 ID 具有相同名称时的含义

html - CSS 不透明背景 IE6 - IE8

html - 父元素不跟随子元素

javascript - document.scripts 不等于 document.getElementsByTagName ("script")

javascript - 仅通过引用绑定(bind)到服务属性?

javascript - 使用多个用户凭据的 Json 登录