0

将您的 CSS 和 JS 嵌入到您的网页中,而不是将代码保存在单独的文件中,是否有某种优势(速度或性能方面)?我从小就相信将代码分开存放在不同的文件中会使事情更容易维护。然而,在亚马逊、谷歌甚至 facebook 等知名网站上,我看到了很多嵌入代码。他们选择这样做是否有性能原因,或者这只是一种旧/新的做事方式。我想我的问题与此类似:我应该在移动网站中内联 CSS 和 JS 以节省带宽吗?

但我想听听专家意见,尤其是那些在知名网站上工作过的人,如果有的话。

附言

额外问题:亚马逊网页上的最后一个 html 评论是<!-- MEOW -->什么意思,还是只是一个有趣的恶作剧?

4

3 回答 3

1

内联资源有充分的理由,但与大多数事情一样,它也有其权衡。内联最简单的情况是 HTTP 连接的成本远远超过资源本身的情况,例如:如果您需要显示一个 10x10 的图标,那么与内联数据相比,专门的请求可能不值得通过数据 URI。

当您有许多需要获取的小资源时尤其如此。大多数浏览器将自己限制为每个主机最多 6 个连接,因此如果您有 60 个需要获取的资源,那么您将在很长一段时间内被阻止。

为了解决这些情况,我们发明了其他解决方法:域分片以超过 6 个连接限制,以及“拆分”以获取一个资源与多个资源。

如果您查看 mod_pagespeed(Apache 模块),它会为您即时执行许多这些优化,那么我们提供的推荐设置是内联任何小于 2kb 的资源。对于今天的堆栈来说,这是一个非常好的经验法则。

一旦 SPDY 被更广泛地部署,这些变通方法中的许多都可以被消除:不需要进行域分片,额外请求的成本要少得多,等等。

于 2012-06-20T16:42:25.370 回答
0

CSS/JS 外部文件通常缓存在该用户浏览器配置文件下的用户硬盘上。因此,除非您经常更改代码,否则将其内联并不会真正帮自己一个忙。

绝对可以节省您的维护时间,但是您可以轻松地调用 javascript/css 文件并将代码嵌入到您在服务器端填充的页面上,但这也意味着您正在让您的服务器做额外的工作。

至于喵喵——是的,他们想搞笑,或者是代码……为……猫……

于 2012-06-20T14:00:39.863 回答
0

Stoyan 做了一个你可能会觉得有趣的实验http://www.phpied.com/style-tag-to-inline-style-attrrib/

于 2012-07-01T18:46:23.773 回答