【发布时间】:2020-02-12 21:01:00
【问题描述】:
我正在创建一个具有暗模式主题功能的网页。我得到了我定义暗模式类的 bundle.css。我正在使用 javascript onclick 事件来设置 cookie 值,如果重新加载后该值为 true,则 javascript 将在 body 元素上生成类。但是,如果我重新加载页面,最初的样式将首先加载,这样我可以在几毫秒内看到白色背景(浅色主题),然后加载深色主题。而这种延迟是一个问题。
我也尝试将我的 JavaScript 添加到头部,但是,它并没有解决问题。我在这个项目中使用 webpack。 css、js、html文件分为模块。
我的问题是: 是否有任何解决方案或方法可以通过使用 javascript 快速加载深色主题而不会出现这种延迟或白色闪烁背景?或者这里需要后端?感谢您的建议。
【问题讨论】:
-
你可以让页面保持加载状态,直到你读取cookie值,也许。
-
@HarunYilmaz 这是我试图避免的事情。因为我正在为当地报纸创建一个站点,而长时间加载或任何加载动画是他们实际上不想听到的。这个网络link 是我正在尝试创建的暗模式的一个很好的例子。但是,他们头脑中的 javascript 似乎并不完整。
-
一个漂亮的加载器可以帮助你改变样式的间隔
-
无延迟 = 服务器设置值。
-
@media (prefers-color-scheme: dark) { }
标签: javascript jquery html css cookies