@id1cc

Как взаимодействовать между вкладками?

Здравствуйте.

Для отправки скажем, сообщения, требуется хэш уникальности (он зависит от количества сообщений). При успешной ajax-отправке новый хэш возвращается в формате json и соответственно обновляется в аттрибуте кнопки отправки. Но если у пользователя открыто более одной вкладки, с одной из которых он отправит сообщение, то в остальных вкладках хэш уже будет неактуальным.
Вопрос: как можно взаимодействовать между вкладками, то есть обновлять хэш на всех открытых вкладках?
Фреймворки не предлагать.

Заранее спасибо!
  • Вопрос задан
  • 2419 просмотров
Пригласить эксперта
Ответы на вопрос 6
e-antonov
@e-antonov
мне кажется взаимодействовать между вкладками можно чем-то куками/сессиями. хоть это и не даст вам возможности автоматически менять свойства кнопок на других вкладках, но даст возможность при запросе к серверу из любой вкладки иметь доступ к актуальному хэшу
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Почему хеш зависит от количеста сообщений.

И для чего он вообще нужен
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Используйте last-result функцию для получения последней актуальной информации с сервера для нужного элемента.
2. Возвращайте в локальное хранилище браузера и при появлении нового события обновляйте нужные элементы оттуда.
Ответ написан
effetto
@effetto
.Net разработчик
Для взаимодействия между вкладками я использую библиотеку jStorage. Сохраняйте в локальном хранилище ключевые данные вкладок. Однако не стоит забывать, что не все браузеры на данный момент адекватно поддерживают локальное хранилище. На странице библиотеки указаны совместимые браузеры.
Ответ написан
Комментировать
webinside
@webinside
document.addEventListener('visibilitychange', function(e) {
// обновить данные
	}, false);
Ответ написан
Комментировать
@id1cc Автор вопроса
Всем спасибо. Разобрался и сделал с помощью localstorage. Закрыто.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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