8

length多くの要素のプロパティにアクセスするプラグインがあります。ただし、javascriptコンソールはjquery.min.jsの12行目を指しています。

プラグインで問題のある行を見つけるためにバックトレースするにはどうすればよいですか?

4

5 に答える 5

6

縮小されたスクリプトを使用すると、任意のデバッガー (完全に最高の firebug など) で同じ問題のある行が表示され、この情報は役に立ちません (縮小されたスクリプトは読みにくく、理解しにくく、1 行で記述されます)。

このような問題を解決するいくつかの方法:

  1. 私が前に言ったように、縮小されたスクリプトを使用しないで開発する場合、デバッガーは何かを意味する行を表示し、運が良ければ開発者の非常に有用なコメントを見つけることができます。
  2. スクリプトのフル バージョンが見つからない場合は、http://jsbeautifier.org/ のような unminifier を使用します(縮小されたスクリプトを貼り付けて、下のボタンをクリックします)。プロジェクトの uminified スクリプトに追加し、無効な関数を再度実行します。デバッガーは再び行を表示しますが、今回は実際の論理行が表示され、ほとんどの場合に問題が何であるかを理解できます。
  3. デバッガーは、どのスクリプトが問題をスローしたかを示します。このスクリプトの新しいバージョンがあるかどうかを確認してください。私はかつて同じ問題を抱えていました。縮小されたスクリプトの行、プラグインの名前 (著作権の数行上) を見つけた後、新しいバージョンが利用可能であることがわかりました。変更ログを確認すると、「不明な属性値の可能性があるため、コード全体に複数の「サニティ チェック」を追加しました」 - ヘッドショット :) スクリプトが更新され、特別なデバッグに何時間もかかることなく、すべてがうまくいきました。
  4. スクリプト名でエラーを Google で検索してください - 何度も助けられました.おそらくあなたはそれを実行しましたが、スピーチ マーク "" を試していない可能性があります - Google はテキスト内の正確なフレーズを含むページを返します.
于 2010-07-28T15:25:10.310 に答える
4

プラグインで問題のある行を見つけるためにバックトレースするにはどうすればよいですか?

firebugは、これらのエラーをデバッグするための優れた方法です。

代替テキスト
(ソース:getfirebug.com

于 2010-06-14T19:03:31.193 に答える
1

Chrome を使用している場合は、組み込みの開発者ツール (Firebug よりもこちらの方が好み) を使用できます"View > Developer > Developer Tools"。コンソールのエラーには、その前に小さな右向きの矢印が表示されることが多く、クリックするとエラーの詳細が表示されます。

Javascript エラーはライブラリで発生する可能性は低く、代わりにそのライブラリ内のメソッド/関数を参照するコードであるため、コンソールの右側にリストされているすべての問題行を調べて、対応する行を選択する必要があります。あなたが書いたコードが問題の場所になります。

jQuery のソース コードを調べても、問題がどこにあるのかを理解することはほとんどありません。問題はあなたのコードにあります。jQuery は、渡された未定義の変数を使用できないというだけです。

于 2013-03-22T17:15:48.820 に答える
1

これらのあいまいなフレームワーク エラーは、AJAX 要求エラーの結果であることがよくあります。その場合、Developer Tool Of Choice には [ネットワーク] タブが含まれている可能性が高く、エラーの本当の原因が強調表示される可能性があります。

jQuery (または任意の JavaScript フレームワーク) を使用して AJAX 要求の結果を処理している場合、書式設定とエラーの処理の両方が追加の手順であり、見落とされることがよくあります。

于 2013-07-30T19:10:09.740 に答える
0

デバッガー/firebug に加えて、これを追跡する簡単な方法 (サイトのサンドボックス バージョンがある場合) は、各プラグインを個別にコメント アウトし、エラーが消えるかどうかを確認することです。

于 2013-07-30T18:53:06.793 に答える