【发布时间】:2021-12-25 14:34:39
【问题描述】:
我们可以使用prefers-color-scheme: dark 来检测是否激活了暗模式:
const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches;
有没有办法检测浏览器是否支持暗模式? (“支持暗模式”是指浏览器自动更改网页的默认背景/文本颜色)。
在 CSS 中,我们可以强制使用暗模式
color-scheme: dark;
但是,某些浏览器(Android 版 Firefox)会忽略它。因此,如果深色模式不可用,我想隐藏主题选择。
【问题讨论】:
-
不确定是否检测,但您可以在这里轻松快速查看caniuse.com/?search=color%20scheme
-
何时可用是什么意思?,暗模式是您添加到网站的东西。如果您想检测浏览器是否可以检测到操作系统模式,请按照您在问题中提到的操作。有什么我想念的吗?
-
@MohamedAbdallah 我们可以使用
color-scheme: dark;在 CSS 中强制使用暗模式,但并非所有浏览器都会切换到暗模式(即 Android Firefox)。 -
您可以尝试基于 CSS 的
@supports (color-scheme: dark) { ... }进行检测。 -
@connexo 很有趣。任何想法为什么在使用任何字符串而不是
dark时它是“真实的”?例如@supports (color-scheme: blahblahblah) { background-color: red; }
标签: javascript css browser darkmode