从src是外部域的iframe,可以通过“父”对象获得哪些方法?

时间:2011-06-23 19:35:24

标签: javascript iframe cross-domain parent

我知道iframe访问父DOM的跨域问题,反之亦然,但我发现iframe可以将其父级重定向到另一个位置。以“父”页面为例:

<!-- http://www.domain1.com -->
<iframe id="some_iframe" src="http://www.domain2.com"></iframe>

嵌入内容:

<!-- http://www.domain2.com -->
<html>
  <head>
    <title>I'm embedded</title>
  </head>
  <body>
    <input type="button" onclick="parent.location = 'http://www.domain3.com';" value="Redirect my parent to another site" />
  </body>
</html>

如果单击嵌入内容中的按钮,父成功将成功重定向到第三个URL。显然,iframe中的嵌入内容可以访问设置其父级的位置。但是,如果我尝试在父级上调用任何其他方法(例如,“parent.outerHeight”),我会得到“不安全的JavaScript尝试从http://www.domain1.com/的帧中访问带有URL http://www.domain2.com/的帧。域,协议和端口必须匹配。”在我的JS控制台中。

我很好奇除了“位置”之外的其他方法(如果有的话)是能够调用它的父对象的嵌入内容。是否列出了这些公共职能?感谢。

1 个答案:

答案 0 :(得分:0)

这个问题略微针对浏览器。使用HTML5,有一种认可的方式来传达呼叫postmessage。这是一个link for your review