我需要为我正在开发的框架实现 javascript 和 css 资源,但我有一个大问题。
如果你看一下当前的网站,如 Facebook、Google、Youtube 和其他顶级网站,它们的源代码显示了它们在代码中不同位置对 javascript 的使用。我想到的第一个问题是……javascript 源代码文件 不应该分配在文档的开头吗?您可以/应该能够将 javascript 命令放在脚本 block 中,但是...源文件也是如此吗??
我一直在阅读的书籍建议(作为最佳实践,我猜)所有源文件都应该分配在 head 部分,同时将所有代码块替换到页面末尾,就在关闭 body 部分之前(当可能)。
同样适用于 CSS。我见过在页面中间找到源文件包含的页面,而正常声明是在开头包含所有 css 文件(因为它比就地包含更有效,因为它们并行加载方式)。
在我看来,如果我要按照我一直在阅读的书籍,源文件(javascript 和 css)总是放在最前面,脚本 block (如果可能)放在文档的底部,应避免就地包含 CSS(除非您想使用 scope 属性或者它是 html 标记内的样式声明,这也应尽可能避免)。
是这样吗?
最佳答案
最佳实践因此规定:
CSS 文件应该进入 <head>
文档的顶部,尽可能靠近顶部。我通常把我的放在任何 <meta>
之后标签。
JavaScript 文件应该尽可能接近 <body>
的末尾尽可能,通常直接在 </body>
之前标签。
这是因为 JavaScript 文件是串行加载的并且是阻塞的,所以如果 JavaScript 文件包含在 <head>
中在页面中,所有文件都必须在加载文档主体之前完整加载,这通常会造成延迟的感觉。
实际上,JavaScript 文件和 JavaScript 脚本 block 之间几乎没有区别。他们都使用 <script>
元素,只是外部引用的文件有一个 src
属性。从解析器的 Angular 来看,它们是相同的。
从有效性的 Angular 来看,<script>
元素可以放在 <head>
中的任何位置或 <body>
一个页面,有时 <script>
文件应该放在 <head>
中,例如在使用 typekit 之类的东西时,因为这将确保及时加载字体文件,以便在页面加载后立即显示字体,从而防止出现 FOUF(无样式字体闪烁)
关于html文档中的javascript和css,最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13268857/