3

1つのWebプロジェクトを最適化しようとしています。

asp.net(webforms)、一連のjqueryプラグインなどを使用します。

問題:への不要なHTTPリクエストがlocalhost/undefinedあり、すべてのリクエストに必要な時間よりも1秒ほど長くかかります。

質問:有罪のコードを見つけるための戦術はありますか?

手がかり:undefinedJSが関与していると思わせます。

Firebugログ:

GET / undefined HTTP / 1.1
ホスト:localhost:17817
ユーザーエージェント:Mozilla / 5.0(Windows; U; Windows NT 6.1; lv; rv:1.9.2)Gecko / 20100115
Firefox / 3.6
Accept:image / png、image / ; q = 0.8、 / ; q = 0.5
Accept-Language:lv、en-us; q = 0.7、en; q = 0.3
Accept-Encoding:gzip、deflate
Accept-Charset:ISO-8859-13、utf-8; q = 0.7
、; q = 0.7
Keep-Alive:115
接続:keep-aliveリファラー
http:// localhost:17817 / Default.aspx


コード内の行を右クリックすると、条件付きブレークポイントが表示されます。URL値を持つ変数の名前を確認し、typeof URL ==='undefined'またはurl==='undefined'の場合に条件を設定して、スタックを確認します

行3400にbreakprointを設定するだけです(条件なし)。そこを通過しません。

3397 ajax:function(s){
3398 //設定を拡張しますが、's'を再拡張して
、後で再度チェックできるようにします(具体的には、テストスイートで)
3400 s = jQuery.extend(true、 s、jQuery.extend(true、{}、jQuery.ajaxSettings、s));


問題を少し絞り込んだ=>いくつかの画像をレンダリングし、魅力的なjqueryプラグインと魔法のリクエストを使用する1つのascxコントローラーをコメントアウトしました。


問題は、ギャラリフィックプラグインの初期化にありました。アンカーが見つかりませんでした。画像などがないときにサムネイルを作成するためのhrefです。今はかっこいい...

4

2 に答える 2

1

どのJSコードがリクエストを開始しているかを特定できましたか?Firebugを使用している場合は、コンソールウィンドウにAJAXリクエストを呼び出すコード行が表示されます。jQueryライブラリにコード行がある$.post()のような場合は、Firebugプラグイン内のコールスタックをナビゲートして、最初のJS呼び出しが呼び出されている場所を特定できます。

于 2010-02-25T14:25:28.877 に答える
0

HTTPウォッチを試してみることをお勧めします。

于 2010-02-25T14:23:35.403 に答える