Cookie (jQuery) и localStorage (HTML5) для хранения простого значения флага - выигрыш в производительности? - PullRequest
0 голосов
/ 02 ноября 2018

Я ценю, что этот вопрос возможно задавался ранее, но я изо всех сил пытаюсь найти недавний и полезный ответ для моего варианта использования:

Есть ли преимущество в производительности / поддержке / простоте в использовании 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, так как мое понимание того, что к обоим относятся одинаково.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...