Кроссдоменный 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, время: 04:28. |