Итак, во-первых, вам нужно установить в локальном хранилище выбранную пользователем тему:
$('.mode-toggler').click(function() {
// Change attribute of css default theme by checking for statements with href attribute contains view keyword
$("link[href*='view']").attr("href", $(this).attr("data-value"));
// set localstorage
localstorage.setItem("selectedTheme", $(this).attr("data-value"));
});
И когда вы загрузите веб-страницу в следующий раз, вам придется проверять выбранные темы еще до загрузки вашей страницы. Просто включите этот скрипт в свой тег head.
<script>
var link = document.createElement('link');
link.rel = 'stylesheet';
link.href = localstorage.getItem("selectedTheme") || "view/light-view.css";
document.head.appendChild(link);
</script>
Но я боюсь, что это может привести к мерцанию, потому что сначала сырой HTML (без CSS) будет окрашен в вашем браузере, а затем вставляется весь CSS, и DOM перерисовывается с помощью CSS. Вы можете решить эту проблему, удалив связанный с темой CSS в отдельном файле (скажем, darktheme.css) и поместив все остальные CSS в постоянный файл css (styles.css). Пока страница загружается, загрузите ее с помощью styles.css
и загрузите тег скрипта *theme.css
.