[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Синхронизация JS между открытыми вкладками
Revan
Всем привет!

В общем суть вопроса: есть сайт, а на сайте, есть система уведомлений, которая работает следующим образом: сервер отправляет уведомление, клиент на js принимает его, и показывает справа в углу сайта, а так же издает звуковой сигнал. В чем собственно проблема, когда открыты две вкладки сайта, то, звуковой сигнал дублируется, что не есть хорошо, что ещё хуже - это закрытие этих уведомлений. Т. е. закрывая уведомление на одной вкладке, оно остается на остальных.

У кого-нибудь есть, решения этой проблемы? Я думал о html5 local storage, но есть огромный подводный камень, и имя этому камню - субдомены, которых на сайте чертовски много.

Есть ли здесь, мега-опытные программеры, у которых имеются мысли на этот счет? Буду весьма благодарен smile.gif



Спустя 21 минута, 8 секунд (13.09.2012 - 02:29) inpost написал(а):
Что за сервер? Что за клиент на JS?
Новое уведомление: $var = 1; (мем-кеш, БД, любой способ хранения).
Как только аякс сделал запрос получить данные, тут же $var меняй на цифру 0 (нет уведомлений), таким образом с вкладки второй аякс так же сделает запрос чуть позже, но получит цифру 0, значит нет уведомлений.

Это пример на Аяксе, как у тебя - тебе виднее.

Спустя 27 минут, 59 секунд (13.09.2012 - 02:57) Revan написал(а):
Цитата (inpost @ 12.09.2012 - 23:29)
Что за сервер? Что за клиент на JS?
Новое уведомление: $var = 1; (мем-кеш, БД, любой способ хранения).
Как только аякс сделал запрос получить данные, тут же $var меняй на цифру 0 (нет уведомлений), таким образом с вкладки второй аякс так же сделает запрос чуть позже, но получит цифру 0, значит нет уведомлений.

Это пример на Аяксе, как у тебя - тебе виднее.

Ну... использовать аякс для уведомлений, явно не самая лучшая идея.
Тут нужен либо node.js либо comet, у меня как раз comet (Dklab_Realplexor), и работает он в режиме реального времени, по принципу сервер-клиент, поэтому вариант с PHP в качестве посредника никак не катит.


_____________
FC Barcelona - она всегда будет в моем сердце!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.