2009-03-11 8 views
2

テーブルソート、AJAX呼び出し、オートコンプリート、ページの領域を動的に隠す、表示するなどのJavaScriptがたくさんあるページがあります...私が見ている問題は、ページを離れるときに大きな遅延(ブラウザフリーズ)が発生する。この遅延は、ユーザーがクリックしたり、ブラウザーを閉じたり、フォーム送信を実行したときに発生します。 JavaScriptで問題が発生しているかどうかを確認したい。どのようなツールを使って調べることができますか? Firebugはこのシナリオでは動作しません。ウェブページから離れるときにどのJavaScriptイベントが呼び出されているか調べるのにどのツールを使用できますか?

アンロードは、コードベースに記載されている唯一の場所はjquery.jsとui.tabs.jsである(jQueryのUI)

+1

これは役に立ちますか? http://stackoverflow.com/questions/570960/how-to-debug-javascript-jquery-event-bindings-with-firebug-or-similar-tool –

答えて

1

接続されているすべてのonunloadイベントハンドラ(ボディに、窓等を形成し、)はありますか?もしそうなら、調査するのは良い出発点になるだろう。

[編集]:明らかに、jQueryは、すべての要素に関連付けられたすべてのイベントをバインド解除するループを実行します。これは、IEのメモリリークを防ぐためです(リッスンしている要素を参照するイベントハンドラクロージャによって作成されます)。 DOMが非常に複雑な場合は、遅延が発生する可能性があります。

jQueryコードでこの部分をコメントアウトして、問題が原因であるかどうか確認できますか?

[編集2]: jQuery(1.3+)の新しいバージョンでウィンドウのアンロードが改善されているようです。どのバージョンを使用していますか?

+0

優秀な点、私はそれをチェックします。 – Sixty4Bit

+0

jqueryライブラリ – Sixty4Bit

+0

現在は1.2.6を使用していますが、それはアップグレードの時間のようです。 – Sixty4Bit

0

Inline Code Finderは、どこでイベントがアタッチされているかを視覚的に表示する、Firefoxのアドインです(実際はFirebugアドインです)。

関連する問題