У меня есть некоторые значения на моем сайте, которые я хочу очистить, когда браузер близок, я выбрал sessionStorage для хранения этих значений, он очистится, когда вкладка закрыта и сохранит, если пользователь нажмет f5, но если пользователь откроет какую-либо ссылку на другой вкладке эти значения недоступны. Как я могу делиться значениями sessionStorage между всеми вкладками браузера с моим приложением?браузер sessionStorage. делиться между вкладками?
Вариант использования: поместите значение в какое-либо хранилище, сохраните это значение на всех вкладках браузера и очистите его, если все вкладки закрыты.
if (!sessionStorage.getItem(key)) {
sessionStorage.setItem(key, defaultValue)
}
Может ли кто-нибудь просмотреть мой вопрос, пожалуйста? Мой вопрос был отмечен как дублированный, но на самом деле связанный с ним вопрос был задан 2 года назад, но мои 3 года идут, а также этот вопрос более популярен, поэтому я считаю его отмеченным ошибкой. Может ли кто-нибудь исправить это или просто ответить, почему это произошло, пожалуйста? Благодарю.
Насколько надежным является это решение? Поскольку это событие основано, есть ли вероятность пропустить событие? – vivek241
На основании ответов здесь я создал библиотеку через localStorage и sessionStorage, чтобы упростить это. Итак, теперь вы просто вызываете storageManager.saveSyncedSessionData («данные», «ключ»); или storageManager.savePermanentData («данные», «ключ») и т. д. на основе того, что вам нужно.Полный код находится здесь: http://www.ebenmonney.com/blog/how-to-implement-remember-me-functionality-using-token-based-authentication-and-localstorage-in-a-web-application – adentum
@ vivek241 Решение отлично подойдет для меня, когда размер файла JS меньше, а приведенный выше «сценарий решения» загружается как первый скрипт на странице. Когда мой JS-файл стал слишком большим, скажем 1000 или более строк, он внезапно прекратил работу и удалил мои файлы cookie и определенные данные локального хранилища. Я не уверен, что это надежное или кросс-браузерное решение, на которое можно положиться. Итак, переписал всю логику, чтобы решить проблему с помощью cookie. – webblover