网页底部/顶部的JavaScript?

时间:2009-10-28 17:08:31

标签: javascript webpage

我刚刚使用Mozilla Firefox的插件“Yslow”,它告诉我应该把JavaScript放在底部。我之前听过这个,但没有真正想过这个。与顶部相比,将JavaScript放在网页底部真的有优势吗?

10 个答案:

答案 0 :(得分:51)

它允许在执行JavaScript之前明显加载网页,这对于像Google Analytics这样的内容很有意义,这些内容在页面加载之前不需要发生。

您可能还想查看jQuery,prototype等内容并附加到“ready”处理程序,该处理程序在DOM完全加载后执行JavaScript代码,这是适用于大量JavaScript代码的适当位置。

答案 1 :(得分:44)

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

答案 2 :(得分:5)

如果你有静态的html内容和大量的javascript,它会对感知的页面加载时间产生影响,因为html将首先加载,为用户提供一些东西。如果你没有太多的javascript,或者现有的页面内容依赖于javascript有用,那么这在实际上并不那么有用。

答案 3 :(得分:4)

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

如果您想使用Google Analytics(分析)在Google网站管理员工具中验证您的网站,也应该找到它。

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

答案 4 :(得分:3)

是的,该页面将在加载和执行javascript之前加载内容并进行渲染,因此页面加载速度会更快。

答案 5 :(得分:0)

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

答案 6 :(得分:0)

将脚本放置在元素的底部可以提高显示速度,因为脚本编译会降低显示速度。

答案 7 :(得分:0)

顶部

  

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

底部

  

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

来自Demian Labs

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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