我运行并积极开发了一个论坛(它本身在经过大量修改的 SMF 1.1.16 上运行) - 我想添加的一个功能是用户能够从角落的小部件中选择自定义颜色(比如 2-4)的页面自定义论坛的颜色。
论坛的 HTML 输出的结构使得可以使用纯 CSS 来修改颜色,我想知道插入这个 CSS 的正确方法是什么。
我的想法是,一旦用户保存了他们的颜色信息,一段 javascript 将生成必要的 CSS 并使用 HTML5 localStorage(可能使用 polyfill 库)保存它。然后,在 $(document).ready() 上,我们检查此 CSS 是否存在,如果存在,我们将其注入页眉。
这种方法明智吗?它很容易开发,但是在应用自定义样式之前,它会导致通常样式的闪烁(鉴于页面相当重量级)吗?
如果是这样,是否有更好的方法可以完全在客户端执行此操作?如果可能的话,我宁愿不涉及服务器,但如果必须,我可以让服务器为每个保存自定义样式的用户生成 CSS 文件。
最好的方法是什么?