为什么标准将css和js文件放在页面的顶部和底部(分别)?

时间:2011-06-29 08:38:26

标签: javascript css

很好奇为什么在标题化页面中的css和js以及页面的顶部/底部标准化网站时会有性能增强。

8 个答案:

答案 0 :(得分:15)

这不完全正确。简单地说:

  • 样式声明应尽可能接近顶部,因为浏览器在加载CSS之前不会渲染您的页面(以避免出现无格式内容的闪现)

  • 脚本标记应尽可能靠近底部,因为它们会阻止浏览器在标记加载和完成之前解析(因为脚本可能会使用document.write更改文档)

如果您对前端表现感兴趣,我强烈建议您阅读Steve Souders的High Performance Web Sites: Essential Knowledge for Front-End Engineers

答案 1 :(得分:5)

有很多为什么,但我总是选择 Yahoo Developers

  

Rule 5 for High Performance Websites - 将样式表置于顶部

  

Rule 6 for High Performance Websites - 将脚本移到底部

答案 2 :(得分:3)

将js文件放在标题中并不标准,大多数情况下将它们放在页面底部会更好,因为在加载html之后会加载js。这使得能够直接使用html元素(例如,向某些div添加处理程序等)。对于css,尤其是< link> tag,标题中使用它是标准的。这使得样式可用于在< body>中加载的html。 css / js的位置与性能无关。

答案 3 :(得分:0)

CSS应位于顶部,因此浏览器可以立即开始布局。

Javascript应该在底部。 Javascript可以包含document.write(),因此浏览器在运行Javascript之前无法在Javascript之后呈现任何内容。

答案 4 :(得分:0)

将CSS置于顶部的原因是在渲染页面之前加载它,因此页面将使用它的样式进行渲染。否则,它将在没有设计的情况下渲染,然后重新渲染。 JS经常被加载到底部,而不是顶部。在头文件中加载一些JS的原因是让它在页面中可用(否则你可以调用未定义的对象/函数,如果你在页面体中有JS,它使用外部库)

答案 5 :(得分:0)

如果您将javascript移动到页面的底部,我可以成为性能增强...

答案 6 :(得分:0)

AFAIK CSS实际上只在头文件中有效,而且对于CSS和JS来说,它们应该在头部,因此当页面中的任何内容需要它们时,它们肯定是可用的。

例如,如果您在页面正文中有一个JS函数调用,但该函数尚未事先声明,那么当然会出现脚本错误。

就性能而言,我不知道通过将它们放在头部会有任何性能提升,但我在这里可能是错的。您有时可以通过将它们放在页面底部来从某些脚本中获得性能提升,但这只是因为其他内容是在手工渲染之前(而不是在加载外部资源时拖延渲染的渲染)

答案 7 :(得分:-1)

我认为您所说的好处可以更容易归因于将代码放置在单独的文件中,而不是放在页面上特定位置的文件中。

当然,使用JavaScript,如果将它们放在单独的文件中,您可以更轻松地利用缩小和压缩等方面。

如果在多个页面上使用JS或CSS文件,则缓存也可以在提高性能方面发挥作用。