Есть ли способ переключаться между светлым и темным режимами с помощью Javascript без создания дополнительных классов?

CSS предоставляет медиа-запрос prefers-color-scheme

  @media(prefers-color-scheme: dark) {
    border-color: white;
  }

Мне было интересно, могу ли я установить значение через JavaScript? Я не хочу добавлять дополнительные классы или выполнять какую-то логику, которая могла бы переключать таблицы стилей, например Switch между светлым и темным режимами или добавлением дополнительных классов к элементам, например Как переключить темную тему на всю страницу?

Что-то вроде

window.colorScheme = "dark";

У меня есть контекст, чтобы использовать его в vue-styleguideist, просто ограничьте его компонентом. Прямо сейчас я добавляю объект-оболочку для каждого компонента.


person Archimedes Trajano    schedule 20.03.2021    source источник
comment
в чем разница между добавлением класса в body или переключением цветовой схемы?   -  person doğukan    schedule 20.03.2021
comment
Я предполагаю, что OP хочет темную тему бесплатно без написания CSS темной темы   -  person phuzi    schedule 20.03.2021
comment
Я почти уверен, что это невозможно и, вероятно, никогда не будет. Вы должны добавить собственную реализацию.   -  person JSON Derulo    schedule 20.03.2021
comment
Быстрая и грязная темная тема: document.body.style.filter = 'invert(100%)';   -  person Lil Devil    schedule 20.03.2021
comment
@LilDevil не то, что я хочу, моя темная тема - это не просто инверсия цветов.   -  person Archimedes Trajano    schedule 20.03.2021
comment
@phuzi ты прав.   -  person Archimedes Trajano    schedule 20.03.2021
comment
@Archimedes Trajano ну, тогда я в замешательстве. Вы говорите «моя темная тема», но я также не хочу добавлять дополнительные классы - тогда как еще вы ожидаете определить свою тему?   -  person Lil Devil    schedule 20.03.2021
comment
Я нашел несколько удобный способ, которым Microsoft Edge поддерживает настройку предпочтений для каждого приложения. Так что я могу контролировать это оттуда. Интересно, есть ли простое расширение, которое может это сделать.   -  person Archimedes Trajano    schedule 21.03.2021
comment
К сожалению, вам придется потратить время на то, чтобы придумать стиль для своей темной темы. Для начала, как что-то автоматически определит, каким должен быть цвет фона для страницы? Он должен быть черным? темно-серый? или даже другой темный цвет?   -  person phuzi    schedule 22.03.2021