gpt4 book ai didi

javascript - 动态 CSS - 多个样式表与单个动态 CSS(渲染性能)

转载 作者:行者123 更新时间:2023-11-28 18:03:32 25 4
gpt4 key购买 nike

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

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

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

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

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

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

最佳答案

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

有一个 great SO answer以及对此的解释。它可能值得一读。

关于javascript - 动态 CSS - 多个样式表与单个动态 CSS(渲染性能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19989744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com