Кроссдоменный postMessage
Здравствуйте, уважаемые специалисты!
Имеются страницы на разных доменах. Дочерняя выводится в iframe на родительской. Задача: сделать чтобы при нажатии на iframe происходило действие на родительской странице. В настоящий момент происходят ложные срабатывания скрипта на родительской странице из-за особенностей шаблона CMS. Нужно сделать, чтобы скрипт срабатывал только при получении определенного сообщения от дочерней страницы, например, "hello". Заранее огромное спасибо за помощь! parentdomain.ru <iframe src="http://childdomain.ru"></iframe> <script type="text/javascript"> var eventMethod = window.addEventListener ? "addEventListener" : "attachEvent"; var eventer = window[eventMethod]; var messageEvent = eventMethod == "attachEvent" ? "onmessage" : "message"; eventer(messageEvent,function(e) { document.write('<div>it works</div>'); }); </script> childdomain.ru <script type="text/javascript"> function click() { parent.postMessage("hello","*"); return false; } onmouseup=click; </script> |
enivor,
ну и почему нельзя проверить свойство e.data? e.data == 'hello' && document.write('<div>it works</div>'); |
Спасибо огромное, destus! То, что надо! :)
|
Часовой пояс GMT +3, время: 14:33. |