Я все еще теоретизирую это для дизайна, который я собираюсь начать строить. Но я думаю объединить
-WebSockets
-Местное Хранение
а также
Сообщения через окно
Моя теория заключается в создании механизма сокетов в javascript, который запускается при каждой загрузке страницы в каждой вкладке, но выключается, если уже установлено соединение.
При первом обращении к сайту я сделаю GUID и сохраню его в локальном хранилище, это уникальное удостоверение того, что пользователи просматривают / входят в систему на своем ПК.
Когда сервер сокетов принимает соединение, у него будет этот guid, и любой новый запрос от этого guid будет возвращать «999 Connection Уже Установлено» или что-то в этом роде.
Как только одна из них запустится, она запустит другие вкладки с кросс-оконным обменом сообщениями, преобразовав данные, которые я хочу разделить по вкладкам, в большой двоичный объект JSON, а затем преобразовав их обратно в объект при получении на других вкладках. Так что, какая бы вкладка ни была подключена, она будет обрабатывать все входящие / исходящие сообщения с сокет-сервером. Затем он будет получать / передавать с другими вкладками через кросс-оконный обмен сообщениями. И теоретически это должно работать и с окнами Iframe и Popup.
Вся эта система будет обеспечивать автоматическое обновление данных в загруженных формах для системы, подобной CRM, которую мы создаем, а также для живого чата и билета.
Сценарий моей мечты: если пользователь A смотрит на билет 1000, а пользователь B обновляет билет 1000, я хочу, чтобы билет пользователя A обновлялся, и если пользователь A вносил изменения до его обновления, я хочу, чтобы у него всплывала миграция данных до предотвратить снос пользователя B изменился
- Пользователь B внес конфликтующее изменение во время редактирования этой записи
"UserB: FirstName -> Bob" [Take]
"UserA: FirstName -> Robert" [Keep]