私は次のコードのようなものを持っています:
for(var i=0;i<4;i++) {
frm = document.createElement("iframe");
frm.width = "100";
frm.height = "100";
frm.src = "source.php";
frm.id = "something";
frm.attachEvent("load", function() { alert(this.id); //Here I need alternative for this.id });
var frameDiv = document.getElementById("frameDiv");
frameDiv.appendChild(frm);
}
単純化されていますが、基本的にはdiv内に4つのiframeが作成され、完全に読み込まれたときに、各フレームのIDに基づいていくつかのアクションを実行する必要があります。それはうまく機能しますが、問題はIEにあります。IEはこれを演算子として認識していないため、内部のフレームのIDにアクセスできません。IEに使用できる代替手段はありますか?
助けてくれてありがとう!
Abhijit:実際、コード全体は次のようになっています。
if(frm.addEventListener) {
frm.addEventListener("load", function() { alert(this.id); },false);
}
else if(frm.attachEvent) {
frm.attachEvent("onload", function() { alert(this.id); });
}
else {
frm.onload=function() { alert(this.id); };
}
したがって、すべてのブラウザで機能するはずです。