getElementsByTagName 为 null 或未定义,仅在 IE 中 - 并且仅在函数中的一个特定位置 [重复]

2024-01-11

可能的重复:
IE 中的 getElementById.contentDocument 错误 https://stackoverflow.com/questions/1477547/getelementbyid-contentdocument-error-in-ie

下面列出的是我的 JavaScript 代码。它的作用是在整个文档中搜索所有 iframe,然后在 iframe 中搜索所有图像。父框架和子框架都是我在同一域上的代码。该代码在 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 中?感谢您的帮助。


From MDN 文档 https://developer.mozilla.org/en/DOM/HTMLIFrameElement#Properties:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

getElementsByTagName 为 null 或未定义,仅在 IE 中 - 并且仅在函数中的一个特定位置 [重复] 的相关文章

随机推荐