0

私は他の誰かのソースコードを変更するのに行き詰まっています.残念ながら、それは非常に強く文書化されていません.

現在のバグの原因を突き止める努力の一環として、ボタンを押したときに呼び出される関数を見つけようとしていますが、うまくいきません。私が知る限り、関数は動的に追加されますその結果、調べる必要のある onlick="" がなく、デバッグ パネルで他に役立つ情報が見つかりません。

私は Chrome を好みますが、必要に応じて別のブラウザーで起動することもいとわないです。

4

4 に答える 4

1

Chrome では、ページが完全に読み込まれた後、URL バーに次のように入力します (ボタン クラスを変更することを忘れないでください)。

var b = document.getElementsByClassName("ButtonClass"); alert(b[0].onclick);

または、試すことができます(正しいボタンIDに適切な変更を加えます):

var b = document.getElementById("ButtonID"); alert(b.onclick);

これにより、メッセージ ボックスに関数名/コード スニペットが表示されます。

関数名またはコード スニペットを取得したら、スニペット/関数名の .js ファイルを検索する必要があります。

それが役に立てば幸い!

于 2012-05-09T01:37:52.413 に答える
1
  1. ブラウザの JavaScript デバッガを開いた状態でページを開く
  2. 「Break all」または同等のボタンをクリックします
  3. 調査したいボタンをクリックします (ページ要素をマウスオーバーするとイベントが発生する場合は、ある程度の工夫が必要になる場合があります。ページでタイムアウトまたは間隔が発生した場合、それらも邪魔になる可能性があります。)
于 2012-05-09T00:50:34.590 に答える
1

ボタンのマークアップを調べて、そのクラス/ID を調べます。そのクラスまたは ID を使用して JavaScript を検索します。以前の開発者が次のようなことを行っている可能性が非常に高くなります。

document.getElementById('someId').onclick = someFunction...;

また

document.getElementById('someId').addEventListener("click", doSomething, false);

于 2012-05-09T00:59:11.623 に答える
0

各関数にトレース変数を追加できます。トレース結果を表示するには、console.log() を使用します。

そのようです:

function blah(trace) {
    console.log('blah called from: '+trace);
}

(結果を表示するには、開発者コンソールを開く必要があります)

于 2012-05-09T00:51:35.713 に答える