0

これは私のコードです:

document.addEventListener('load', function () {
  alert(document.getElementsByTagName("DIV").length);
}, false);
//'load' event above doesn't show any response, alert isn't showing

alert(document.getElementsByTagName("DIV").length);
// this alert returns 0 it looks like it is called before the page DOM has loaded

window.onload = function() {
 alert(document.getElementsByTagName("DIV").length);
};
//returns 0, what the... it seems DOM hasn't loaded also
// but only on some sites, here on stackoverflow and youtube it works,
//but on google.com and many other websites (pcworld.com) shows 0

最新の安定版とアルファ版の Opera でも同じ状況です。

4

1 に答える 1

0

私はあなたが単にすることをお勧めします

window.addEventListener('load', function(){}, false)

通常のスクリプトと同じように。使用できます opera.addEventListener('BeforeEvent.load', ...)が、Opera の一部のバージョンでページのスクリプトがロード イベントをリッスンしない場合、起動しない可能性があります。

その他の背景資料: window.onload と document.onloadの比較

addEventListener("input", callback) は Opera で動作しませんか?

于 2012-01-03T10:59:11.937 に答える