Дано:а) сайт с основным стилем (style.css) и подключаемым стилем оформления со светлой или тёмной темой (light.css/dark.css).
б) ручное переключение тем.
в) основная тема - светлая.
Проблема: Сделал автоматическое переключение темы сайта на основе темы браузера/устройства, но при первой загрузке сайта на долю секунды, когда и если происходит переключение темы, страница лишается стиля. Это происходит, тогда, когда идёт автоматическое переключение со светлой темы на тёмную (в момент смены light.css на dark.css в
href при помощи JS).
Сам код:<link id="theme" data-theme="auto" rel="stylesheet" href="light.css">
let theme = document.querySelector("#theme");
if (theme.dataset.theme == "auto") {
theme.setAttribute("href", theme.href.replace("light", (window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light")));
}
Пробовал добавлять
async или
type="module" в тег <script>, но результата нет.
Подскажите, пожалуйста, можно как-либо это исправить?