4

IE6 の Javascript コードの速度が遅くなり、ホバー時に顕著な遅延が発生します。FF では問題ないので、firebug を使用してもあまり役に立ちません。IE でこれをデバッグするのに役立つツールは何ですか?

もう少し情報:マウスオーバーしているオブジェクトで実際に JS が実行されているとは思いません。(少なくとも私が入れたものはありません。) css :hover のものだけです。また、プロジェクトで jquery と dojo の両方を実行しているので、バックグラウンドで何をしているのか誰にもわかりません。

4

6 に答える 6

4

その「何か」が何であるかのほんのヒント...

IE での文字列の連結は非常に遅いです(または、少なくとも私がテストしたときはそうでした)。Opera は 0.2 秒後に終了し、Firefox は 4.1 秒後に終了し、Internet Explorer 7 は 20後に終了しませんでした!!!

してはいけないこと:

for (var i=0, i < 200; i++) { s = s + "something";}

代わりに、一時的に配列を使用してから結合します。

var s=[];
for (var i=0; i < 200; i++) s.push("something");
s=s.join("");
于 2008-11-19T03:44:25.577 に答える
4

私が通常行うことは次のとおりです。

var startTime = new Date();
// Lots of heavy code here
console.log("Processing time: ", new Date() - startTime, " ms");

Firebug liteを入手して、console.log をブラウザー間で動作させることができます。これにより、コードの特定のセクションの実行にかかる時間がわかります。

エラーのあるセクションがわかったら、それを修正するためのオプションを検討できます。

于 2008-11-19T14:34:02.083 に答える
1

Microsoft Script Debugger 、ヒントについてはIEBlogも参照してください

于 2008-11-18T22:36:42.033 に答える
0

遅延は、DOM の更新によるものである可能性もあります。DOM の変更により IE がページを再レンダリングする必要がある場合、Firefox よりも著しく遅くなる可能性があります。通常、これが発生するとカーソルがフリーズします。

于 2008-11-19T15:51:19.293 に答える
0

高速な Firefox と低速な IE を考えると、xpath 式とイベント ハンドラー (予想される数の 10 倍ではなく、適切な数の呼び出しを取得していることを確認してください) は、タイマーを手動で挿入するのに適した場所です。

于 2008-11-19T16:08:11.397 に答える
0

好奇心旺盛な人のために、速度低下の原因を見つけたと思います。IE6選択ボックスの z-index 問題を解決するためにbgiframeを使用しています ( SOの他の場所で説明)。

于 2008-11-21T21:12:22.263 に答える