Реактивная переменная, которая автоматически обновляет все вкладки при изменении?

Мне нужна реактивная локальная переменная, которая сохраняется при обновлении страницы, уникальна для браузера и реагирует на все вкладки в этом одном браузере. Постоянный сеанс или реактивное локальное хранилище не работают, потому что, если изменение происходит на одной вкладке, оно не распознается на другой вкладке, пока вы не обновите страницу.

В настоящее время я пытаюсь использовать коллекцию Grounddb, но она не является пуленепробиваемой и иногда может не зарегистрировать изменение или вернуться к старому. Есть ли лучший способ добиться такого поведения?

заранее спасибо


person kikovi    schedule 24.09.2014    source источник


Ответы (2)


В Chrome 37 на моей машине window.localStorage синхронизируется между вкладками. Я не уверен насчет других браузеров, и он не будет реагировать автоматически, если вы воспользуетесь этим методом.

Вам, вероятно, лучше всего использовать коллекцию с документами, назначенными по идентификатору пользователя, тогда вы можете положиться на реактивность Meteor.

person user54580    schedule 25.09.2014
comment
browser-store предоставляет реактивный интерфейс для локального хранилища (также использует некоторые странные особенности IE для IE6 / 7), который, как они утверждают, работает во всех вкладках. К сожалению, он не был обновлен до версии Meteor 0.9; на самом деле никаких коммитов не было с января прошлого года. - person user3374348; 25.09.2014

Используется http://plugins.jquery.com/storageapi/ в сочетании с Tracker.dependancy для достижения реактивности и переменные sessionStorage (уникальная вкладка) / localStorage (уникальные переменные браузера).

person kikovi    schedule 02.10.2014
comment
Любопытно, если у вас есть пример, я работаю над тем же, за исключением усиления. Прямо сейчас у меня есть localStorage, действующий реактивно внутри вкладки, но не во всем браузере, который все еще требует сброса. - person Kombo; 17.10.2014