将hss包含在html页面的头部而不是单独的文件的开销

时间:2012-10-25 13:55:18

标签: javascript html css cors

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

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

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

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

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

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

编辑:

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

我试图了解除了这些因素之外,是否通过在标题部分添加大约3-5个样式标记(每个标记为100-300个css规则)来使html页面更大,导致脚本在页面,因为HTML字符串本身更长?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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