我试图根据用户的系统设置实现一个黑暗模式。为此我使用了@media查询prefers-color-scheme: dark
。这是可行的,但我也需要在JavaScript中做一些检查。
detectColorScheme() {
if (!window.matchMedia) {
return false;
} else if (window.matchMedia('(prefers-color-scheme: dark').matches) {
this.isDarkMode = true;
}
}
这段代码在Chrome上可以正常工作,但在Safari上就不行了。它仍然返回false(仅在Safari上),即使系统暗模式被激活。
1条答案
按热度按时间v8wbuo2f1#
您的代码中缺少一个括号)。更新的代码:
另一个例子: