Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 08.07.2015, 18:48
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Octane
фреймы не синхронизируют localStorage,
Т .е при записи в localStorage во фрейме - это событие в ином окне с этого же домена не отслеживается ?
Ответить с цитированием
  #12 (permalink)  
Старый 08.07.2015, 19:14
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

неа, в IE не возникает события
Ответить с цитированием
  #13 (permalink)  
Старый 08.07.2015, 19:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Вот такая штука завелась:

- site1.com выполняет localStorage.removeItem('cross-window-postMessage-data')
- site1.com открывает в новом окне site2.com
- site2.com открывает в iframe site1.com/proxy.html
- site2.com выполняет iframe.contentWindow.postMessage('json', '*')
- proxy.html получает сообщение 'json' по событию message
- proxy.html выполняет localStorage.setItem('cross-window-postMessage-data', 'json')
- site1.com в интервале выполняет localStorage.getItem('cross-window-postMessage-data')

Последний раз редактировалось Octane, 08.07.2015 в 19:23.
Ответить с цитированием
  #14 (permalink)  
Старый 08.07.2015, 19:37
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Octane,
Да
Цитата:
- site1.com в интервале выполняет localStorage.getItem('cross-window-postMessage-data')
Это как-то не Айс...может проще вызывать функцию top.window.имя() из site1.com/proxy.htm и отдавать напрямую в top.window ?

Последний раз редактировалось Deff, 08.07.2015 в 19:43.
Ответить с цитированием
  #15 (permalink)  
Старый 08.07.2015, 19:39
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не не, между site1.com и site1.com/proxy.html нет никакой связи, ни parent, ни opener, только localStorage
Ответить с цитированием
  #16 (permalink)  
Старый 08.07.2015, 20:00
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Octane,
А ежли изначально в site1.com ячейку в localStorage установить - типо 'default', события при изменении/удалении этой ячейки во фрейме site1.com/proxy.htm не возникнет на site1.com?
Типо шаманю... Бывают такие фичи у ИЕ...

Последний раз редактировалось Deff, 08.07.2015 в 20:02.
Ответить с цитированием
  #17 (permalink)  
Старый 08.07.2015, 20:14
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Я в каком то полифиле видел коммент, что в IE при изменении одного и того же ключа не возникнет событие, пробовал разные ставить, ничего не помогает
Ответить с цитированием
  #18 (permalink)  
Старый 08.07.2015, 20:24
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Octane,
А если ключ удалять ? (во фрейме) А писать в другой - а первый ключ чисто для события

Последний раз редактировалось Deff, 09.07.2015 в 00:00.
Ответить с цитированием
  #19 (permalink)  
Старый 09.07.2015, 13:52
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сейчас еще раз попробовал в IE11, не все так плохо:

site2.com загружает в iframe site1.com/proxy.html

1. site1.com выполняет localStorage.setItem(…), в iframe не возникает события onstorage
2. iframe выполняет localStorage.setItem(…), на site1.com возникает событие onstorage

Впринципе можно использовать без интервала в одну сторону.
Ответить с цитированием
  #20 (permalink)  
Старый 09.07.2015, 13:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Octane
в iframe не возникает события onstorage
Это да, некоторые события в iframe - режутся, и не только в ИЕ
Есть древняя метода уведомления iframe о событии окном-установщиком фрейма, - изменяя типоразмеры(пропорции) фрейма , можно уведомить о нескольких событиях. Onresize в iframe типично работает, - тестируем пропорции(отношение длины к высоте)

Последний раз редактировалось Deff, 09.07.2015 в 14:17.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cross domain ajax vyaceslav.kr jQuery 1 07.10.2012 09:11
Как получить список пользовательских функций объекта window? Маэстро Events/DOM/Window 13 03.07.2010 13:20