我正在为各种网站构建一个书签,其功能基本上如下:
- 用户导航至 foo.com(不受我控制的外部网站)
- 用户单击浏览器上的一个小书签,该小书签会从 foo.com 获取一些信息,并将其显示在 iframe 内的 bar.com 表单上
- 用户在 foo.com 内的 bar.com 内提交表单
- iframe 消失
问题是让 iFrame 自行删除。由于我无法访问另一个域中父域内的函数,因此我无法创建自定义函数parent.removeIFrame(),甚至无法执行window.top.location.reload()。我尝试了很多技术,但由于跨域脚本,所有这些技术都失败了。
我解决这个问题的方法是将 top.location.href 更改为我在 bar.com/back.html 构建的自定义页面,其中它所做的只是发送一个“history.back()”命令将用户弹回到原始页面。虽然很有创意,但我认为这不是一个非常优雅的解决方案。有更好的办法吗?
最佳答案
您可以尝试跨域消息传递的片段标识符。有一个 YUI 库:http://www.julienlecomte.net/blog/2007/11/31/
关于javascript - 来自另一个域的 iFrame 如何摆脱自身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643949/