的getElementsByTagName为null或未定义,只能在IE - 在功能和仅在一个特定

2019-09-18 09:33发布

可能重复:
getElementById.contentDocument错误在IE

下面列出的是我的javascript代码。 它的作用是搜索所有的I帧的整个文件,然后搜索所有图像的I帧。 父和子框架是我在同一个域中的所有代码。 该代码在Chrome中,FF和Safari浏览器,而不是IE浏览器工作正常。 下面是我得到的错误。

Microsoft JScript runtime error: Unable to get value of the property 'getElementsByTagName': object is null or undefined

这里是我的代码。

<script language="javascript">
var IMGmatches = [];
var IMGelems = document.getElementsByTagName("img");
var iframes = document.getElementsByTagName('iframe');
var l = IMGelems.length;
var m = iframes.length;
var i;
var j;
for (i = 0; i < l; i++) IMGmatches[i] = IMGelems[i];
for (j = 0; j < m; j++) {
    IMGelems = iframes[j].contentDocument.getElementsByTagName("img");
    l = IMGelems.length;
    for (i = 0; i < l; i++) {
        IMGmatches.push(IMGelems[i]);
        document.getElementById("HM").src = IMGelems[i].src;
        alert('IMGelems[i].src : ' + IMGelems[i].src);
    }
}

该错误是发生在行:

IMGelems = iframes[j].contentDocument.getElementsByTagName("img");

有谁看到或知道这可能是为什么在IE中只发生了什么? 谢谢您的帮助。

Answer 1:

从MDN文件 :

活动文档中内嵌框架的嵌套浏览上下文。 在Internet Explorer 7及更早版本不支持; 使用contentWindow.document代替。



文章来源: getElementsByTagName is null or undefined, only in IE - and only in one particular spot in the function [duplicate]