关于javascript:IFrame调用父函数

IFrame call parent function

iframe 是否可以调用父级的函数,即使它们不在同一个域中?
当它们不在同一个域中时,我的实际方法会引发安全错误:

1
2
3
4
5
function test()
{ alert('wow');
}

<iframe src="...."></iframex>

在 iframe 中我会这样做:

1
2
function fin()
{ top.test(); }

非常感谢:)


您不能直接调用该函数(由于相同的来源策略,但您可以使用 postMessage(如对该问题的回答中所述)并让事件侦听器调用该函数作为响应。

如果您需要支持 Internet Explorer 7 及更低版本,您将有些不走运。


不,你不能。同源政策禁止这样做。