Javascript IFrame调用父函数

Javascript IFrame调用父函数,javascript,html,iframe,Javascript,Html,Iframe,iframe是否可以调用父函数,即使它们不在同一域中? 当它们不在同一个域上时,我的实际方法会引发一个安全错误: <script> function test() { alert('wow'); } </script> <iframe src="...."></iframe> 功能测试() {alert('wow'); } 在iframe中,我会这样做: <script> function fin() { top.test()

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

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

功能测试()
{alert('wow');
}
在iframe中,我会这样做:

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

函数fin()
{top.test();}

非常感谢:)

不,你不能。同源策略禁止此操作。

您不能直接调用该函数(由于),但您可以使用(如回答中所述)并让事件侦听器调用该函数作为响应


如果您需要支持Internet Explorer 7及更低版本,您会有点困惑。

不是这样。您可以使用postMessage。我们在应用程序中使用postMessage。因为如果您使用ie7,您可能会迷路。这与“在iframe中调用函数”不同,抱歉:)可以。您可以使用postMessage发送消息,然后使侦听器调用该函数。虽然不完全相同,但它实现了相同的目标。Dupe