Как я могу использовать postMessage для обмена данными между окнами верхнего уровня?

Используя веб-сообщения (postMessage), легко отправлять сообщения между окнами, включая фреймы и всплывающие окна, открытые с помощью Javascript. Однако возможно ли, чтобы два окна, открываемые пользователем по отдельности, находили друг друга и общались?

Например, если пользователь открывает www.example.com/app.html в браузере, а затем ту же страницу в другой вкладке / окнах того же браузера, я хочу, чтобы второе окно знало, что оно должно действовать как «дочерний» "первого и обмениваться потоком событий через postMessage. Как мне обнаружить присутствие другого открытого окна и как получить его дескриптор, который я могу использовать с postMessage?


person SoftMemes    schedule 16.10.2013    source источник


Ответы (1)


я не знаю, возможно ли это с postMessage.

но это должно быть возможно с localStorage или sessionStorage (который находится в области сеанса).

используя этот подход, вы можете записать значение в одном окне / вкладке и прочитать его в другом окне / вкладке, конечно, предполагая, что все они находятся в одном домене.

подробнее см. здесь: http://php-html.net/tutorials/html5-local-storage-guide/

надеюсь, это поможет.

person geevee    schedule 16.10.2013