使用JavaScript在IE 10中浏览嵌套的父框架

时间:2016-02-16 21:44:00

标签: javascript jquery html internet-explorer dom

我正在尝试访问DOM中的一个元素,该元素位于与我当前所在的框架不同的框架中。我正在尝试转到父框架,然后访问另一个框架,下面两个级别(注意 这些标记 < frame > < iframe >)。我能够在Chrome中完成此操作,但我无法在IE 10中完成此操作。我有以下内容:

var divElem = parent.frames['frameOne'].contentWindow.frameTwo.document.getElementById('myDiv');

我在IE中尝试了contentDocument以及contentWindow,但它返回为undefined。我怎样才能在IE 10中正确执行此操作?

2 个答案:

答案 0 :(得分:1)

获取具有跨浏览器条件回退的框架文档,如下所示:

//get frame by ID (assign ID to your frame, easier that way)
var frm = document.getElementById("frameOne");

//get frame's document (cross-browser fallback)
var doc = frm.contentDocument? frm.contentDocument: frm.contentWindow.document;

//assign some HTML to frame - in your case you're probably loading content via src
doc.body.innerHTML = '<div id="myDiv">Test</div>'

//access elements within frame
console.log(doc.getElementById("myDiv").innerHTML)

工作小提琴:https://jsfiddle.net/pp6w54sv/

答案 1 :(得分:0)

使用< frame >时,答案似乎比预期的要容易得多。以下在IE 10中为我工作。

var divElem =  parent.frames[2][1].document.getElementById('myDiv');