Javascript IFrame调用父函数
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()
<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