在 HTML 代码中的何处插入 JavaScript 库和 CSS?

Luc*_*kyG 2 html javascript css jquery web

我对 Web 开发不太陌生,当我在互联网上搜索其他主题时,我看到很多人将流行的 JS 库放在他们网站的不同位置。

例如:在该部分的最开头或开头插入 JS 库 <head> </head> 。(在加载任何 JS 代码或 CSS 文件之前)

例如:在 <head> </head> 部分的末尾插入 JS 库。(加载所有JS代码和CSS文件后)

例如:在 <body> </body> 部分的末尾插入 JS 库。(加载所有 JS 代码、文本、图像、视频、CSS 文件等后...)

所以我的问题是这样的。

将以下 JS 库、插件和 CSS 样式表插入(何处)到网页以获得最快的加载时间和其他优势的最佳实践是什么?- 请说明原因 -

JQuery 及其插件

引导3.js

Modernizr.js

Angular.js

还有另一个广泛使用的 JS 库,我在这里无法提及......

规范化.css

重置.css

bootstrap.css + 更多

谢谢..!

Dan*_*ung 6

不存在所谓的“标准”方法。选择在哪里放置这些行可以归结为一个问题:我什么时候需要该库?

你看,网页文件是逐行加载的,让我们以下面的例子来说明我的意思:

<script>
  document.getElementById("target").innerHTML = "changed"
</script>
<p id="target">unchanged</p>
Run Code Online (Sandbox Code Playgroud)

#target不会改变,因为脚本是在元素之前加载的。Web 文件按程序加载。当 JavaScript 行加载时。它会立即执行,但目标元素不会。所以它无法改变元素。

即使使用 jQuery,也存在同样的问题:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
  $("#target").text("changed");
</script>
<p id="target">unchanged</p>
Run Code Online (Sandbox Code Playgroud)

因此,我们经常使用$(function(){}).

回到加载问题

<script>将标签或<link>标签放在正文(前面)或头部的人们,希望立即执行脚本,有时他们不会使用$(function())document.onload

<script>将标签或<link>标记放入正文(最后)的人们希望确保加载所有元素,然后执行脚本或加载 CSS。

结论

您应该首先加载独立资源(例如 jQuery),然后加载依赖资源(例如 jQuery 插件)。然后,您尝试决定何时开始加载资源,然后将这些行放在适当的位置。

您应该将 CSS 链接放入标记中<head>,因为您不希望访问者在加载 CSS 文件之前看到无样式的内容。

如果您无法决定或不关心时间,请将 every<script><style>标签放在<head>.


这是您可能感兴趣的另一篇文章:网页的加载和执行顺序?