访问父iframe元素的容器(iframe中的iframe)

时间:2014-02-14 13:12:10

标签: javascript html dom iframe

我有下一个元素结构:

<div class="container">
  <iframe class="outer">
    ..
      <iframe class="inner">
        actual markup with scripts here
      </iframe>
  </iframe>
</div>

使用纯粹的javascript,我已经走出了“内部”iframe进入外部的那个:

//this is HTML tag of ".outer" iframe
var parent = window.parent.document.getElementsByTagName('html')[0];

但我仍需要使用“.container”元素来操纵它。 谁能告诉我如何从“.inner”元素中的脚本中获取“.container”元素?

2 个答案:

答案 0 :(得分:5)

也许这个:

var outer = window.parent;

var mainWindow = outer.parent;

var container = mainWindow.document.getElementsByClassName('container')[0];

但请不要忘记您的iframe必须位于同一个域中。

答案 1 :(得分:1)

我会尝试

var containerElement = window.frames.top.top.document.getElementsByClassName('container')[0];

但要小心:如果您试图突破您的框架并希望访问具有不同域,端口或协议的文档,您的浏览器(希望如此)将返回如下的异常:

  

未捕获的SecurityError:阻止具有原点“null”的帧访问具有原点“null”的帧。协议,域和端口必须匹配。