Кросс-оконные/вкладочные уведомления в браузере с JavaScript

Я работаю с веб-сайтом, имеющим функцию чата (например, чат Facebook).

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

Как определить

  • Если в браузере открыто много вкладок (окон) для одного и того же веб-сайта

  • Когда приходит новое сообщение, какая из вкладок должна воспроизводить звуковой эффект

Мне известно об API уведомлений, но я хотел бы решить эту проблему обратно совместимым образом. Также, если есть какие-либо связанные библиотеки JavaScript, я хотел бы знать о них.


person Mikko Ohtamaa    schedule 10.03.2014    source источник


Ответы (1)


Вы можете использовать localStorage для таких целей. Данные в localStorage распределяются между всеми окнами (вкладками или фреймами) с одним и тем же источником. Он также может уведомлять ваше приложение об изменениях в localStorage.

См. библиотеку IWC. Думаю поможет с вашими задачами.

person Eugene Khudoy    schedule 11.01.2015