@Barrakuda74

Как запускать Server Sent events только в одной вкладке?

Реализую Server Sent events, хочу чтобы соединение с сервером было только в одной вкладке. Понял что нужно какое-то общение между вкладками. Нашёл статью подходящую, по размеру понравился Hermes на SharedWorker, всего 1,8кб, но вот вопрос... да, можно отправить из вкладке всем сообщение. Но как опросить эти вкладки, есть ли уже соединение в какой-либо из них? Т,е. вот я открываю этот же сайт в новой вкладке, и как бы мне узнать, есть ли уже в какой-нибудь вкладке соединение с сервером или нет? Чтобы не создавать новое. А ещё момент закрытия вкладки интересует. Как отследить момент закрытия, чтобы в одной из оставшихся вкладок тут же восстановить SSE-соединение. Если невозможно через Hermes, то может знаете как это можно сделать через другие способы общения между вкладками, через библиотеку __SE__ например, или Duel?
Спасибо.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kidar2
1. Проверить есть ли уже открытое соединение можно через сам сервер. Т.е. вкладка пусть всегда пытается открыть соединение, а сервер уже ответит надо ли. Ещё вкладкам можно общаться между собой через sessionStorage или localStorage.
2. Отследить момент закрытия вкладки или полного обновления страницы через событие onunload у body.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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