这个问题在这里已经有了答案:
9年前关闭。
下面列出的是我的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 中发生?感谢您的帮助。
最佳答案
来自 MDN documentation :
关于javascript - getElementsByTagName 为 null 或未定义,仅在 IE 中 - 并且仅在函数中的一个特定位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11156622/