0

更新:最后这已成为一个非问题。我们创建了代理,通过与 js 文件相同的域从 blob 提供主题 css 文件。

我正在开发一个主题切换器模块,它使用 document.stylesheets 对象来获取有关某些样式表中的 css 规则的信息。

该站点托管在 azure 上,css 文件存储在 blob 上。

由于缺乏对 blob 中跨域资源共享的支持,因此无法访问样式表。

一种解决方法是将整个 css 文件注入到 html 页面的 head 部分。

这会通过膨胀页面显着影响性能吗?

编辑:

正如他在下面的评论中提到的,当然有两个因素:第一个是外部 css 文件的缓存,这会导致更快的重新加载时间。第二个是http请求的数量-如果css在页面中,它会变少:尽管如果文件已经被缓存-无论如何都不会在重新加载时对它们发出请求。

我试图了解除了这些因素之外,是否通过在页眉部分添加大约 3-5 个样式标签,每个样式标签具有 100-300 个 css 规则,是否会导致页面上的脚本运行速度变慢,因为html字符串本身要长得多?

4

2 回答 2

2

如果它在页面中,则加载时间会更长,因为第二次加载时 css尚未在浏览器的缓存中。

于 2012-10-25T14:00:15.140 回答
1

这取决于不同的因素。例如 - 你的 CSS 有多大,你的用户从哪里访问你的网站。如果您的目标受众是 - 移动用户,那么每增加一个 kb 数据都可能会显着影响性能并给您带来负面的用户体验。另一方面,每个外部样式表都是一个 http 请求,可能会更加影响性能。所以这取决于你的具体情况

于 2012-10-25T14:05:08.510 回答