1

我正在编写支持“插件”作为外部“显示”的网站(自定义全屏 HTML 内容,由网站引擎和客户端提供的 js 驱动程序管理,使用引擎 API 提供的与其他客户端交互)由自定义 js、html 驱动和CSS。主题将被组织到外部存储库中,将有一个 .theme 文件,其中包含主题包含的文件列表,以便将它们加载并存储在 IndexedDB 中,以便更快地在本地使用 - 以及客户端 HTML 的 css 规则

关键是客户端正在访问和更改 css 规则以调整响应式布局。更改主要布局 css 的文本会导致重新加载样式并丢失 js 所做的所有规则更改。客户端是动态加载的,因此这些更改可能随时发生。

所以我需要选择以下选项之一:

  1. 使用 CSS 文本模块 - 加载新客户端后 - 将通过添加新内容 (innerHTML) 并在所有客户端上调用 cssreload 函数来扩展主要 css 文本

  2. 使用多个样式表并为客户端提供 API 以仅修改其自己的样式表,以避免在新客户端注入后重新加载。

哪一个会取得更好的性能?客户的平均数量是 10 到 20 人。是否还有其他我没有想到的更好的解决方案?多个样式表似乎更轻量级(至少对我而言),因为它们不需要重新加载 js,但是我不确定与解决方案相比,如此大量的不同样式表是否不会导致站点重新渲染的性能大幅下降单个巨大的样式表。

4

1 回答 1

1

从我读过的所有内容来看,最好的做法是拥有一个样式表而不是多个样式表,除非它无法避免。这是因为,如今,网络浏览中最慢的部分是发出多个请求。如果您可以在一个请求中加载所有 CSS,即使文件很大,这通常也比加载多个 CSS 文件要快。

对此有一个很好的答案和解释。它可能值得一读。

于 2013-11-14T22:37:07.433 回答