html文档中的javascript和css,最佳实践?

标签 javascript css html include

我需要为我正在开发的框架实现 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/

相关文章:

javascript - Jquery:获取动态创建元素的属性值

javascript - 删除 JQuery/Javascript 键盘 Hook (例如 Portfolio Slide Gallery)

javascript - 将带引号的字符串从 PHP 注入(inject)到 javascript

html - 帮助边框图像上的CSS

HTML 定位问题

javascript - 如何使用 javascript 以 html 形式创建文本验证码

javascript - 使用 JavaScript 打印 HTML

javascript - 为什么这段代码不运行?

javascript - 您可以使用 document.getElementById 检索属性吗?

javascript - 动态图像放置帮助 - CSS/javascript/jquery?