2015-09-20 3 views
1

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

У меня следующая ситуация:

Журналы пользователей в веб-приложение. Он/она будет представлен четырьмя различными модульными ссылками на его консоли.

Когда пользователь нажимает на одну из ссылок, открывается новая TAB и позволяет пользователюA вносить изменения/работать/в этом модуле. Когда userA работает над этим конкретным модулем, он будет проверен на UserA, и все остальные пользователи увидят, что UserA обращается к модулю на своих консолях и недоступен для всех остальных.

Теперь, когда пользователь закрывает/выходит из модуля (вкладка), статус модуля во всех консолях пользователя должен быть изменен на «доступный».

Я выбираю MEAN stack для реализации этого приложения.

Вопрос:

Как справиться с ситуацией:

Когда пользователь закрывает/журналы отказ от (вкладок) модуля, состояние модуля во всех пользовательских консолях должно быть изменено на «доступную ».

Как вести отслеживание открытия вкладки?

ответ

1

Я чувствую, что наиболее подходящим решением для чего-то подобного будет использование сокетов. (Вы можете попробовать Socket.IO, но есть и другие библиотеки для websockets)

Основной причиной этого является то, что мы хотим отслеживать событие разъединения. Для этого требуется какой-то опрос с сервера/клиента. Насколько вы хотите делать с сокетами, конечно, зависит от вас; можно сохранить состояние доступных модулей, сохраненных на карте, и обновить их, когда вы получите GET доступному модулю. Аналогично, вы также можете использовать сокет с событием «connect», предоставляя вам возможность обновления в реальном времени.

Когда пользователь закрывает модуль, отправляется событие разъединения, так что вы можете изменить его на доступный.

+0

Спасибо @andreas за предложение. Реализация завершена с помощью socket.io –

Смежные вопросы