以下にリストされているのは私の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でのみ発生する理由を誰かが見たり知ったりしていますか? ご協力ありがとうございました。