我正在尝试根据浏览器的主题更改图标。我已经尝试过
window.matchMedia('(prefers-color-scheme: dark)').matches
但这似乎只能检测计算机的颜色主题,而不是浏览器。是否可以只获取浏览器主题?
你错了,
prefers-color-scheme
也获得了浏览器主题的偏好——但不是以你想象的方式。如果您正在考虑在 Chrome Web Store 或 Firefox 的附加商店中找到的那些浏览器主题,不幸的是,当前的浏览器都没有实现适应 WebExtensions。
prefers-color-scheme
从操作系统获取主题,但如果浏览器被覆盖或落后于用户首选项,也会从浏览器获取主题。在 Firefox 上,将 ui.systemUsesDarkTheme
添加到 about:config
并将其设置为 0
始终使 (prefers-color-scheme: dark)
为 true,无论操作系统的偏好如何。在 Android 上,我相信三星浏览器在三点菜单中有一个选项可以始终启用深色模式,这也会覆盖 Android 的设置。 因此,继续使用 prefers-color-scheme
并期望未来的浏览器能够实现您正在寻找的功能。