【问题标题】:How to close a iframe inside itself?如何在自身内部关闭 iframe?
【发布时间】:2014-05-13 14:05:35
【问题描述】:

所以我在网站a.com 中有一个b.com 的iframe 当我单击b.com iframe 内的按钮(或其他)时,如何删除b.com iframe。
我可以完全访问a.comb.com 上的源代码

我需要一个 JavaScript 但不是 jQuery 的解决方案

我认为这是 jQuery 解决方案:https://stackoverflow.com/a/6754965/3630453

【问题讨论】:

  • a.comb.com 程序员是朋友吗?因为如果他们不是 - 算了。
  • “关闭”是什么意思?从父级中删除 iframe?清除它?
  • 对不起,当我说关闭时,我的意思是删除。
  • @user3630453 jQ不比JS强。答案是否定的。

标签: javascript iframe


【解决方案1】:

您根本无法“关闭” iframe。这个概念根本不存在。

您可以链接到其他(或空白)页面。

您可以从 DOM 中删除 iframe。由于框架属于a.com,因此移除它的JS必须a.com 上运行。如果你想从b.com 触发它,那么你可以使用postMessagea.com 发送一条消息,要求它从DOM 中删除框架。您将需要在 a.com 上运行代码以侦听消息并采取行动。

您可以首先使用X-Frame-Options 阻止页面在框架中打开。

【讨论】:

  • 这就是我说的原因:程序员(A 和 B)都是朋友吗...(另一种解决方案是像你说的那样更改 Hash / postMessage / 跨域 iframe 又名 top.frames[..]
  • @RoyiNamir:两个程序员之间的关系如何?
  • @Cerbrus a'com 需要支持来自 b.com 的 postMessage 的消息 - 需要支持脚本。 (或 hashchange 事件 - 随便)
  • @RoyiNamir:所以,您是在询问 OP 是否可以修改这两个站点。完全不同的问题。但是,是的,看起来他可以。
  • @Cerbrus 不同的问题?也许会。 (我的意思是朋友,可以交换脚本)
猜你喜欢
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-06
  • 2016-04-15
  • 1970-01-01
相关资源
最近更新 更多