Я ценю, что этот вопрос возможно задавался ранее, но я изо всех сил пытаюсь найти недавний и полезный ответ для моего варианта использования:
Есть ли преимущество в производительности / поддержке / простоте в использовании localStorage по сравнению с файлами cookie для возврата довольно простых значений «флага»?
Например, я реализую выбираемый пользователем «темный режим» на сайте, и мне не нужен FOUC (он же «белая вспышка»), когда пользователь возвращается или перемещается между страницами. Куки теперь «старые технологии», но есть ли реальная польза в том, чтобы отключить следующий «код куки» (который в настоящее время основан на jQuery) для localStorage?
jQuery(function() {
if (Cookies.get('darkmode') == '1') {
jQuery('body').addClass('dark-mode');
jQuery('.switch input').attr('checked', 'checked');
} else {
jQuery('body').removeClass('dark-mode');
jQuery('.switch input').attr('checked', false);
}
jQuery('.switch span').on('click', function() {
if (Cookies.get('darkmode') == '1') {
jQuery('body').removeClass('dark-mode');
Cookies.remove('darkmode', { path: '/' });
} else {
jQuery('body').addClass('dark-mode');
Cookies.set('darkmode', '1', { expires: 365, path: '/' });
}
});
});
У меня есть этот супер простой скрипт сразу после моего открытия <body>
тега:
<script>
if (document.cookie.indexOf("darkmode=1") >= 0) {
document.body.classList.add("dark-mode");
console.log("You enabled Dark Mode last time you were here!");
} else {
document.body.classList.remove("dark-mode");
console.log("You turned off Dark Mode last time you were here!");
}
</script>
Итак, подведем итог - есть ли польза в этом случае использования localStorage? В настоящее время файлы cookie работают нормально, и я отрицаю FOUC, но мне все еще интересно, есть ли реальная выгода в использовании localStorage для таких вещей, как производительность, простота и т. Д.? Я не очень обеспокоен, когда дело доходит до всего аргумента GDPR, так как мое понимание того, что к обоим относятся одинаково.