Я только что получил удовольствие от общения с одним iframe другим с помощью postMessage html5.
Однако у меня проблема в том, что я запускаю приложение GWT, которое загружает iframe (с внешним доменом). Из этого внешнего домена я хочу отправить сообщение обратно в приложение GWT. Наивно я впервые попробовал:
parent.postMessage('hello', '*');
из внешнего скрипта при прослушивании событий сообщений в моем приложении GWT. Это не работает, потому что JavaScript GWT работает в iframe.
То, как я понял, работает так:
document.getElementById(myGwtModuleName).postMessage('hello', '*');
Здорово, что это работает, но что, если я решу изменить имя модуля моего Gwt? Весь процесс сломался бы, и через год, вероятно, потребовалось бы много царапин, чтобы понять, почему ..
Есть ли лучший способ отправить сообщение обратно в приложение GWT? Или в качестве альтернативы, как я могу узнать, какое имя модуля Gwt во время выполнения? В этом случае я мог бы передать его в качестве параметра в iframe.
Спасибо за любую помощь!