如何检测我的网站用户是否使用macOS/Windows,并且已通过JavaScript或CSS启用了暗模式?这可能吗?

最佳答案

由于WebKit增加了对prefers-color-scheme CSS媒体查询的支持,现在这成为可能。您可以这样使用它:

@media (prefers-color-scheme: dark) {
    body { background: black; }
}

或在JavaScript中:
function isDarkModeEnabled() {
    return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
}

阅读有关Dark Mode Support in WebKit的更多信息。自Safari 12.1起可用,请参阅Can I use...以获取有关浏览器支持的最新信息。

10-04 15:58