Когда я должен использовать html5 sessionStorage?

Я узнал разницу между sessionStorage (сохраняются во время сеанса) и localStorage (сохранить навсегда, если не удалить).

я могу увидеть это localStorage может быть использована как лучшая версия cookie. (больше размера, не отправляясь на сервер для каждого HTTP-запроса, как cookie).

Но для sessionStorageЯ думаю, когда я должен использовать это эффективно?

Я подумал о вводе пользователя в текстовые поля на странице A, а затем перешел на страницу B в той же вкладке или окне браузера, где страница B может искать sessionStorage.

Я не могу расширить мои предположения больше, чем сценарий выше. Может кто-нибудь сказать мне, как можно использовать sessionStorage?

3 ответа

Решение

При использовании динамических интерфейсов, управляемых Ajax, часто ничто не хранит текущее состояние того, как интерфейс выглядит (например, какая вкладка выбрана). sessionStorage может использоваться для сохранения состояния интерфейса, поэтому, возвращаясь к странице, вы можете восстановить экран так, как на него смотрел пользователь.

Другой вариант использования: если на нескольких страницах вы работаете с одним объектом, вы можете сохранить идентификатор как глобальную переменную: currentInvoiceId,

Пользовательские настройки, которые необходимы на каждой странице, такие как специальный макет или шаблон, могут быть загружены сразу и помещены в sessionStorage для легкого доступа.

Некоторые вещи, которые вы хотите, чтобы пользователь видел только один раз, например, всплывающее окно новостей. Вы можете хранить, что они уже видели это в sessionStorage, Это также будет работать для действий, которые вы хотите, чтобы пользователь делал только один раз для входа в систему.

Это хорошая альтернатива передаче данных между страницами с использованием viewstate, скрытого <input> поля или параметры URL.

Основная причина использования sessionStorage - для случаев, когда если бы ваш пользователь дважды открывал одну и ту же страницу на двух разных вкладках, вы бы хотели выделить отдельные области хранения для этих двух вкладок. Например, рассмотрим сайт, где вы покупаете билет (и вы можете купить только один билет, например, поток авиабилетов, в отличие от случая с корзиной для покупок). Если пользователь попытается купить два билета на двух разных вкладках, вы не захотите, чтобы эти два сеанса мешали друг другу. sessionStorage позволяет вам независимо отслеживать эти сеансы при загрузке нескольких страниц.

Я рассматриваю sessionStorage просто как «крошечный кеш для каждой вкладки», хотя он может быть довольно надежным кешем.

Другие вопросы по тегам