Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Условия использования localStorage для двух окон/вкладок одного браузера (https://javascript.ru/forum/events/63378-usloviya-ispolzovaniya-localstorage-dlya-dvukh-okon-vkladok-odnogo-brauzera.html)

_Alex9_ 03.06.2016 21:59

Условия использования localStorage для двух окон/вкладок одного браузера
 
Добрый вечер!
Подскажите, пожалуйста, какие условия должны соблюдаться, чтобы работал обмен данными посредством localStorage между двумя вкладками/окнами одного браузера?

Deff 03.06.2016 22:32

localStorage работает меж вкладками нормально, для обмена либо тестить в цикле, но лучше отслеживать событие Storage https://developer.mozilla.org/ru/doc...Events/storage https://habrahabr.ru/post/114350/
Вот при обмене через sessionStorage - есть проблемы, посколь записанные данные в текущий момент не передаются на остальные открытые вкладки, а лишь в новооткрытых (имхо вроде так, давно пробовал)

Alex_63 05.06.2016 13:25

_Alex9_,
$.storageChange = function(key,Fn){window.addEventListener('storage',function(e){if(e.key==key){Fn(e)}});}

/*
 $.storageChange(Ключ, исполняемая функция)
*/

$.storageChange('KeyChangTest',function(obj){
  alert('Поменяли: '+ obj.newValue); // при смене значения данного ключа в LocalStorage на одной вкладке на всех других появится alert
});

Vlasenko Fedor 05.06.2016 13:45

посмотрите данный пример
https://github.com/Poznakomlus/localstorage
запустите recipient.html и sender.html из одного домена в одном броузере
по сути можно сделать и кросдоменно использовав при этом фреймы


Часовой пояс GMT +3, время: 18:41.