很好奇为什么在标题化页面中的css和js以及页面的顶部/底部标准化网站时会有性能增强。
答案 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文件,则缓存也可以在提高性能方面发挥作用。