【发布时间】:2012-04-05 00:14:41
【问题描述】:
如果 iFrame 中的窗口是从另一个域加载的,我遇到了从 iFrame 访问父窗口的任务。如果我理解正确,所有现代浏览器现在都允许这样做。所以我来这里是为了找到最好的解决方案。
接下来我要完成这个任务:
我有一个带有 iFrame 的叠加层。这将代替弹出窗口起作用,以防止弹出窗口阻止程序阻止我的内容。任务是在 iFrame 中的文档完成某些工作时重新加载主页。 在将加载到 iFrame 的文档中,我将添加
<div id="is_closed" class="false"></div>
在父窗口中,我将添加函数,该函数将每秒调用一次,并检查此 div 是否仍有类名“false”。当这将更改为“true”时,我会调用一些回调。
如果您有更好的解决方案,请与我分享。将不胜感激。
编辑:这是不可能的,因为不仅不能从子窗口操作父窗口,反之亦然。我的想法是从父窗口操作子窗口。我错了。
【问题讨论】:
-
If I understand correctly, all modern browsers do now allow to do this. So I'm here to find the best solution.这是您的解决方案。你问的是不可能的。 -
postMessage在不同域的 iframe 中工作。 -
Malgin:如果可能的话,任何 iframe 内容都可能劫持托管页面。这已被故意禁用。没有变通办法没有“最佳解决方案”。
标签: javascript html iframe cross-domain