76

我只是在 Mozilla Firefox 中使用插件“Yslow”,它告诉我应该将 JavaScript 放在底部。我以前听说过这个,但并没有真正考虑太多。与顶部相比,将 JavaScript 放在网页底部真的有优势吗?

4

10 回答 10

57

它将允许网页在执行 JavaScript 之前进行可见加载,这对于 Google Analytics 之类的事情是有意义的,这不需要在页面加载之前发生。

您可能还想查看 jQuery、原型等内容并附加到“就绪”处理程序,该处理程序在 DOM 完全加载后执行 JavaScript 代码,这是许多 JavaScript 代码的合适位置。

于 2009-10-28T17:12:31.133 回答
48

假设您没有在 CDN 上运行,或者没有从单独的子域或服务器为您的 JS 提供服务,它将同步加载并强制您的 HTML 内容等待它下载文件。通过将 JS 放在页面底部的结束</body>标记之前,您可以在加载 javascript 之前解析 HTML。 这会产生更快的页面加载时间。

于 2009-10-28T17:11:26.923 回答
5

如果你有静态的 html 内容和大量的 javascript,它可以在感知页面加载时间上产生差异,因为 html 将首先加载给用户可以查看的内容。如果您没有太多的 javascript,或者现有的页面内容依赖于 javascript 才能发挥作用,那么这实际上并没有那么有用。

于 2009-10-28T17:13:25.047 回答
4

是的,页面将在加载和执行 javascript 之前加载内容并呈现它,因此页面加载速度会更快。

于 2009-10-28T17:10:40.123 回答
4

我想为这个主题带来更新,谷歌最近引入了异步截断http://support.google.com/analytics/bin/answer.py?hl=en&answer=1008080&rd=1可以为您的网站添加例如谷歌统计支持。它应该放在该<head>部分的底部以获得最佳性能。关键是这增加了在用户离开页面之前发送的跟踪信标的可能性。

如果您想使用您的谷歌分析在谷歌网站管理员工具中验证您的网站,它也应该位于那里。

除此之外,基本上仍然适用相同的规则 - 底部的 javascript 用于“快速”加载页面。我使用引号是因为在 javascript 完成之前我不会计算完全加载的页面;-)

于 2012-08-21T18:43:36.153 回答
1

最佳

当您将 JavaScript 放在页面顶部时,浏览器将在标记、图像和文本之前开始加载您的 JS 文件。由于浏览器会同步加载 JavaScript,因此在加载 JavaScript 时不会加载任何其他内容。因此,在加载 JavaScript 时,用户将在几秒钟的时间范围内看到一个空白页面。

底部

另一方面,如果您将 JavaScript 放在页面底部,用户将首先看到页面加载,然后 JavaScript 将在后台加载。因此,例如,如果您的 CSS 和 HTML 需要 5 秒来加载,而您的 JavaScript 需要另外 5 秒,那么将我们的 JavaScript 放在页面顶部将为用户提供 10 秒的“感知”加载时间,并将其放在底部将给出 5 秒的“感知”加载时间。

取自德米安实验室

于 2018-09-10T19:45:19.053 回答
0

它允许所有 DOM 元素在加载处理它们的 Javascript 之前完全加载。该标准也是 Visual Studio 的一部分。

于 2017-04-18T18:00:56.357 回答
0

将脚本放在元素的底部会提高显示速度,因为脚本编译会减慢显示速度。

于 2017-06-08T12:14:55.093 回答
0

是的,包括页面底部的 javascript 确实加快了页面的加载速度。由于浏览器同步执行事物,因此如果将其放置在页面顶部,则会影响页面加载。如果它被放置在页面底部,那么当浏览器开始加载 javascript 时,页面将加载整个标记,从而为用户提供更好的体验。

于 2018-11-13T15:58:30.827 回答
0

建议将所有内联脚本放在最后以提高性能,您不希望您的用户在脚本呈现时盯着空白屏幕。您可以使用 defer 属性,例如。以防止链接脚本延迟您的 html 呈现。

于 2021-05-12T17:07:08.337 回答