2012-03-14 3 views
2

Возможно ли, чтобы iframe вызывал функцию родителя, , даже если они не находятся в том же домене? Мой фактический подход поднимает ошибку безопасности, когда они не находятся на том же домене:Функциональная функция IFrame call parent

<script> 
function test() 
{ alert('wow'); 
} 
</script> 
<iframe src="...."></iframe> 

А внутри фрейма я хотел бы сделать это:

<script> 
function fin() 
{ top.test(); } 
</script> 

Большое спасибо :)

+0

Dupe http://stackoverflow.com/questions/4122422/cross-domain-hash-change-communication – tkone

ответ

2

Нет, вы не можете. Такая же политика происхождения запрещает это.

+0

Это не так. Вы можете использовать postMessage Мы делаем это в наших приложениях. Так как, если вы используете ie7, вы можете потеряться. – tkone

+0

Это не то же самое, что «вызов функции в iframe, «извините :) – ckruse

+1

Это может быть. Вы можете использовать postMessage для отправки сообщения, которое затем заставляет слушателя вызывать функцию. Это не идентично, но он достигает той же цели. – tkone

4

Вы не можете вызвать функцию непосредственно (в связи с same origin policy, но вы можете использовать postMessage (как описано в ответе на this question) и есть слушатель событий вызова этой функции в ответ.

Вы будет немного out of luck, если вам нужно поддерживать Internet Explorer 7 и ниже.

+0

- это решение? http://easyxdm.net/wp/ –

Смежные вопросы