我遇到了一个任务,需要从iFrame访问父窗口,但如果iFrame中的窗口是从另一个域加载的,则所有现代浏览器都不允许这样做。因此,我在这里寻找最佳解决方案。
我将通过以下方式完成此任务:
我有一个带有iFrame的覆盖层。这将替代弹出窗口,以防止弹出窗口拦截器阻止我的内容。任务是在iFrame中的文档完成某些工作时重新加载主页面。 在将加载到iFrame的文档中,我将添加
<div id="is_closed" class="false"></div>
在父窗口中,我将添加一个函数,每秒钟调用一次该函数并检查此div是否仍具有classname "false"。 当这被更改为"true"时,我将调用一些回调函数。
如果您有任何更好的解决方案,请与我分享。 感激任何帮助。
编辑:这是不可能的,因为不仅无法从子窗口操作父窗口,反之亦然。 我的想法是从父窗口操作子窗口。 我错了。
postMessage
可以在不同域名的 iframe 之间使用,并实现数据传输。 - kirilloid