温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - How can my website detect if a browser is using a dark/light theme NOT if the OS is using a theme
html javascript jquery

javascript - 我的网站如何检测浏览器是否使用暗色/浅色主题,而不是操作系统使用主题色?

发布于 2020-07-08 04:50:04

我正在尝试根据浏览器主题更改收藏夹图标。我已经尝试过,window.matchMedia('(prefers-color-scheme: dark)').matches但这似乎只能检测计算机的颜色主题,而不能检测浏览器。是否有可能只获得浏览器主题?

查看更多

提问者
JMR0102
被浏览
24
Jonathan Rosa 2020-04-13 10:59

您弄错了,prefers-color-schemeALSO也获得了浏览器主题的偏好-但不是您所认为的那样。不幸的是,如果您正在考虑在Chrome Web Store或Firefox的Add-On Store中找到的那些浏览器主题,那么当前的浏览器都无法实现可容纳WebExtensions的功能。

prefers-color-scheme从操作系统获取主题,但如果浏览器被覆盖或位于用户首选项之后,则也可以使用浏览器。在Firefox,加入ui.systemUsesDarkThemeabout:config并将其设置为0总是让(prefers-color-scheme: dark)真正的无需考虑操作系统的偏爱。我相信在Android上,三星浏览器在三个点菜单中都有一个选项,可始终启用黑暗模式,该模式也将覆盖Android的设置。因此,请继续使用prefers-color-scheme并期望将来的浏览器能够满足您的需求。