【发布时间】:2011-04-13 03:07:45
【问题描述】:
我正在为各种网站构建一个书签,其功能基本上是这样的:
- 用户导航到 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()”命令在原始页面上反弹用户。虽然很有创意,但我认为这不是非常优雅的解决方案。有没有更好的办法?
【问题讨论】:
标签: javascript iframe cross-domain