呼び出されているJavaScript関数をキャッチするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3883376

  •  28-09-2019
  •  | 
  •  

質問

私は、JavaScriptに大きく依存している非常にイライラするBIアプリケーションであるCognosと協力しています。基本的に、a <select> ボックスが変更され、画面上のデータが更新されます。おそらく、AJAX関数または同様のものによって。 jqueryを使用してこの変更を強制したいのですが、それが行われているコールを傍受する方法がわかりません。大量のJSコードもあるため、手で見つけるのは難しいです。

FireBugを使用して呼び出されるさまざまな関数を表示する方法はありますか?私のアプローチは正しいですか?

役に立ちましたか?

解決

Firebugを開くと 脚本 パネル、左上には、テレビのリモコンの一時停止ボタンのように見えるボタンがあります。 ||. 。これにより、Firebugは、実行される次のJavaScriptで一時停止するように指示します。だから私はページを開いて、 脚本 パネルが有効になり、そのボタンをクリックしてから、 select 箱。それか したほうがいい FireBugのブレークポイントをトリガーし、その後、コードを介していつ呼び出されているかを把握できます。

代わりに、別のツールを使用しても構わない場合は、 グーグルクローム 組み込みのデバッガーとインスペクターがあり、要素に接続されたイベントハンドラーを表示できます。 Chromeで、ページを表示する場合は、右クリックしてください select ボックスを選択してください 要素を検査します, 、次に、右下にある右側に、イベントハンドラーのリストが付いている必要があります。それは少し簡単に作業しやすいかもしれません。

最後に、どちらのツールでも、実際にデータリロードを引き起こしているガットのコードのビットを識別できる場合(たとえば、URLを探している、または XmlHTTPRequest インスタンス、またはjQuery's .ajax, .post, .get, 、 また .getJSON jqueryを使用している場合は機能)、その上にブレークポイントを配置してから、選択をトリガーしてから、コールスタックを確認できます(両方のツールの右側)。

幸運を!

他のヒント

悲しいことに、この時点で、あなたはおそらく、昔ながらのアラートボックスのデバッグ方法を使用して、Cogonosで最善です。 IBMは、Cognosの新しいバージョンがFirefoxで機能すると述べていますが、Pre-IBMコードは非常にIE中心であり、IEの新しいバージョンでは特に良くありません。また、IEの新しいバージョンでF12デバッガー機能を使用することもできます。これはFirebugほど良いふりをしていません。

また、あなたがデバッグしようとしていた実際の問題に関して、CognosのSelectは、レポートの編集中にクリックすると「Auto-Submit」と呼ばれるパラメーターがあります。それを「いいえ」に変更すると、jQueryの動作を無効にする必要はありません。

Firefox + Firebugを使用している場合は、「ネット」タブをアクティブにして、作成されているAjax呼び出しをすべて調べることができます。 (XHRボタンの下を見る)

Firefoxで要素を選択し、そのOnClickイベントが何であるか、またはIDがある場合は、そのIDのJSファイルを検索します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top