CSS/ JS最好放在哪里-顶部、主体还是底部?

iszxjhcz  于 2023-03-20  发布在  其他
关注(0)|答案(4)|浏览(168)

在最近的一次采访中,我被问到以下问题:
CSS最好放在哪里-顶部,主体还是底部?JS最好放在哪里-顶部,主体还是底部?
我只是假设,因为标准的建议,把这些元素放在头标签(当然,不包括内联CSS),这是最好的方式,但是,我的面试官告诉我,对于CSS -这是最好的放在页面的顶部,因为它允许HTML呈现与CSS已经加载;而JS放在页面的底部,因为它只会在DOM加载后运行。这是正确的吗?有什么地方我可以阅读更多关于这个(和其他未知的怪癖)?非常好奇了解更多。谢谢

r55awzrz

r55awzrz1#

CSS应该放在head标签中,这样DOM元素就可以在出现的时候就被设置样式。
JS应该放在结束body标记之前,这样可以确保DOM元素可以立即加载到视图中,而不会在JS文件加载时被阻止。

eit6fx6z

eit6fx6z2#

这是真的- CSS在头部呈现页面,而不必解析通过js,你应该放在页面的底部,除非它是至关重要的呈现。

ftf50wuq

ftf50wuq3#

沿着把CSS放在最上面,你还应该考虑缓存。把CSS存储在样式表中允许它被用户的浏览器重用和缓存。JS也是同样的方式,最好用普通的CDN来托管。例如,从Google或www.example.com加载JQueryjquery.com因为它很可能已经缓存在用户浏览器中了。如果它还没有缓存,您还可以从CDN的速度中获益,因为它们的服务器往往比标准Web服务器更靠近客户端。

zsbz8rwp

zsbz8rwp4#

下面我想给大家展示一下我们公司的一些做法。我不得不承认,它严重偏向于谷歌的PageSpeed工具。恶意的流言会说:“它是通过谷歌的眼镜观看的”;- )
重要提示:在部署中我们只应用以下规则。2我们的开发环境保持整洁,结构化和良好的组织。

CSS

1.内联上述文件夹内容所需的所有CSS:

<head>
   ...
   <style>
   /* CSS goes here */
   </style>

 </head>

尽可能地稀疏!
1.将外部CSS链接到文档的head部分--一切照旧--但尽量将所有剩余的CSS合并到至少一个外部文件中。浏览器必须下载每个CSS文件才能显示页面。避免那些不必要的往返时间!

Javascript

1.内联折叠上方的页面需要立即使用/交互的所有代码:

<head>
   ...
   <script type="text/javascript">
   /* Javascript goes here */
   </script>

 </head>

1.延迟加载剩下的javascript。下面的代码是Google推荐的纯速度代码。将下面的代码放在HTML中的结束标记之前。它说:“等待整个文档加载”,然后获取外部内容-如我的示例中的“defer.js”。

...
   <script type="text/javascript">
   function downloadJSAtOnload() {
       var element = document.createElement("script");
       element.src = "defer.js";
       document.body.appendChild(element);
   }

   if (window.addEventListener) {
      window.addEventListener("load", downloadJSAtOnload, false);
   } else if (window.attachEvent) {
       window.attachEvent("onload", downloadJSAtOnload);
   } else {
       window.onload = downloadJSAtOnload;
   }
   </script>
 </body>

相关问题