web-dev-qa-db-ja.com

JavaScript関数呼び出しの発生を表示する方法

ブラウザのJavaScriptコンソールでJavaScript関数呼び出しを表示することはできますか? XHRは表示できますが、関数呼び出しは表示できますか?

たとえば、ページ上の要素の上にマウスを置くと、divがポップアップします。ポップアップを表示するために呼び出されたJavaScript関数があったことを知っているので、コンソールでこの呼び出しを表示して、どの関数が呼び出されたかを確認できると便利です。

何かが足りないのですか、それとも不可能ですか?

20
styfle

基本的に、JSコールをリアルタイムで表示したいですか?

FirefoxのFirebug拡張機能はそれを提供します( http://getfirebug.com/javascript )。

基本的には、コード内で関数を見つけ、ブレークポイントを設定します。その後、通常のデバッガーと同じように、その上で実行をステップ実行できるはずです。に関連付けられたJS関数とその特定のイベント(マウスオーバーなど)を見つけるのは難しくありません-このページはストレートJSまたはフレームワークを使用していますか?もしそうなら、どれですか?

Google Chromeの組み込み開発者ツールは、より小さなサブセットを提供します-必要なものによっては、その上の[プロファイル]タブが役立つ場合がありますか?

このJS関数をトレースするために正確に何が必要ですか?特定のニーズに基づいて、より適切なツールをお勧めできる場合があります。

11
victorhooi

Firebug Profilerにチェックインして、手動でconsole.logステートメント。

プロファイラーを使用するには、[コンソール]タブに移動して[プロファイル]ボタンをクリックします。次に、アプリを少し使用するか、ページを再読み込みして、[プロファイル]ボタンをもう一度クリックします。次に、呼び出された関数を示す詳細レポートと、それぞれにかかった時間を確認します。

http://michaelsync.net/2007/09/10/firebug-tutorial-logging-profiling-and-commandline-part-ii

Firebugプロファイラー出力について

8
daniellmb

その情報をDOMに明示的に添付しない限り、そうではありません。

ただし、Safari、ChromeおよびFirebug for Firefox)などの一部のブラウザーの開発者ツールでブレークポイントを設定できます。

2
alex