Задать вопрос

"localstorage" или cookie?

Хочу использовать в работе localStorage.
Кто использовал, какие подводные камни есть?

Знаю, что куки можно отключить, а это можно отключить как-то?
  • Вопрос задан
  • 25148 просмотров
Подписаться 7 Простой Комментировать
Решения вопроса 1
Apathetic
@Apathetic
Frontend
На самом деле всё просто. Куки - для сервера, локалсторадж - для клиента. Если информация, которую вы собираетесь хранить, нужна только на клиенте - нет никакого смысла в том, чтобы гонять куки туда-сюда при каждом запросе к серверу. Если какая-то информация нужна постоянно серверу - используйте куки.
Кроме того, а куки 4кб выделяется, на localStorage - 5 мб.
Подводных камней нет никаких, если нет необходимости поддерживать старые ие - используйте смело. caniuse.com/#search=localstorage

Что касается отключения: пользователь может превентивно запретить использование localStorage. На практике с таким не сталкивался, думаю, что целенаправленно этим занимаются еще реже, чем отключением cookies.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@triton
К уже написанному выше дополню:

Куку можно ставить на домен второго уровня и она будет доступна в поддоменах, а localStorage привязывается только к полному домену.

Еще учтите, что в safari есть специальный режим при котором любая попытка записать что-либо в localStorage будет приводить к скриптовой ошибке. Этим режимом не часто но пользуются, так что лучше добавить обработку этой ошибки.

А так, пользуйтесь тем, что лучше подходит.
Ответ написан
Комментировать
Ivanq
@Ivanq
Знаю php, js, html, css
Плюсы:
localStorage отключить нельзя.
localStorage будет жить вечно, если только вы или пользователь не удалите (или комп не сгорит ) ).
Использовать localStorage проще
document.cookie = "a=b"; // Добавляем куки
document.cookie = "a="; // Удаляем куки
// ??? Скачиваем функцию для получения куки

localStorage.addItem("a", "b");
localStorage.removeItem("a");
localStorage.getItem("a");
// или
localStorage.a;


Минусы:
Работает как cookie, только с сервера ставить нельзя.
Для получение с сервака нужно в запросе передавать.
Ответ написан
LittleFatNinja
@LittleFatNinja
горе девелопер, любитель лютой садомии
все что хранится у пользователя, пользователь может отключить
Ответ написан
Комментировать
heksen
@heksen
нет там никаких камней у localstorage
Ответ написан
Комментировать
keslo
@keslo
localstorage
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы