08.07.2015, 18:48
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от Octane
|
фреймы не синхронизируют localStorage,
|
Т .е при записи в localStorage во фрейме - это событие в ином окне с этого же домена не отслеживается ?
|
|
08.07.2015, 19:14
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
неа, в IE не возникает события
|
|
08.07.2015, 19:20
|
|
|
Регистрация: 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.
|
|
08.07.2015, 19:37
|
без статуса
|
|
Регистрация: 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.
|
|
08.07.2015, 19:39
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Не не, между site1.com и site1.com/proxy.html нет никакой связи, ни parent, ни opener, только localStorage
|
|
08.07.2015, 20:00
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Octane,
А ежли изначально в site1.com ячейку в localStorage установить - типо 'default', события при изменении/удалении этой ячейки во фрейме site1.com/proxy.htm не возникнет на site1.com?
Типо шаманю... Бывают такие фичи у ИЕ...
Последний раз редактировалось Deff, 08.07.2015 в 20:02.
|
|
08.07.2015, 20:14
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Я в каком то полифиле видел коммент, что в IE при изменении одного и того же ключа не возникнет событие, пробовал разные ставить, ничего не помогает
|
|
08.07.2015, 20:24
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Octane,
А если ключ удалять ? (во фрейме) А писать в другой - а первый ключ чисто для события
Последний раз редактировалось Deff, 09.07.2015 в 00:00.
|
|
09.07.2015, 13:52
|
|
|
Регистрация: 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
Впринципе можно использовать без интервала в одну сторону.
|
|
09.07.2015, 13:56
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Сообщение от Octane
|
в iframe не возникает события onstorage
|
Это да, некоторые события в iframe - режутся, и не только в ИЕ
Есть древняя метода уведомления iframe о событии окном-установщиком фрейма, - изменяя типоразмеры(пропорции) фрейма , можно уведомить о нескольких событиях. Onresize в iframe типично работает, - тестируем пропорции(отношение длины к высоте)
Последний раз редактировалось Deff, 09.07.2015 в 14:17.
|
|
|
|