3

適切に設定するために に依存するbody.onload(または同等に) いくつかの Web ページがあります。呼ばれないwindow.onloadこともあります。onload

一部の Web ブラウザー (理想的には、これが最も頻繁に発生する Chrome) で、ページの正常な読み込みを妨げている原因を正確に教えてくれるトリックはありますか?

手がかり: F5 キーを押してページ全体をリロードしたときに、これが発生することはめったにありません (まったく発生しないこともあります) が、より一般的には、リンクをクリックするか URL をアドレス バーに貼り付けてページに到達した場合に発生します。onload私をつまずかせているかもしれないセマンティクスの癖はありますか?

注意: スクリプト自体は、コンソールでエラーを生成していません。

4

2 に答える 2

3

私はあなたが欲しいと思いますwindow.onload

于 2012-11-08T17:30:32.463 に答える
1

このようなケースをテストしましたが、次のいずれも機能しません。

var callback = function() { alert("Body loaded"); };
$("body").load(callback);
document.body.addEventListener("load",callback,false);

ただし、document.body.onload問題なく動作するようです。body名前空間が正しく設定されていることを確認します。

document.body //<body>
body //Reference error

あなたが話している場合:

<body onload="callback();"></body>

その後、戻ってコードを確認してください。動作するはずです。


load個人的には、window オブジェクトのイベントまたはフレームワークの ready イベントを使用することをお勧めします。

//Execute when the window is loaded
var callback = function() {
     //Your code goes here...
};
if (window.addEventListener) window.addEventListener("load",callback,false);
else window.attachEvent("load",callback);

jQuery を使用する場合、次のものだけが必要です。

$(window).load(callback);

jQuery の ready イベントは次のとおりです。

$(document).ready(callback);
//Or just:
$(callback);

MooTools はこれを使用します:

window.addEvent("domready",callback);

そして、さまざまなライブラリにはすべて独自の方法があります。

于 2012-11-10T23:10:08.423 に答える