7

私は COGNOS を使用しています。COGNOS は、Javascript に大きく依存している非常に苛立たしい BI アプリケーションです。基本的に、<select>ボックスが変更されると、おそらく AJAX 関数などによって、画面上のデータが更新されます。jQueryを使用してこの変更を強制したいのですが、呼び出しを傍受する方法がわからないので、複製できます。また、大量の JS コードがあるため、手動で見つけるのは困難です。

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

4

4 に答える 4

12

Firebugスクリプトパネルを開くと、左上にテレビのリモコンの一時停止ボタンのようなボタンがあります||。これは、実行される JavaScript の次のビットで一時停止するように Firebug に指示します。そのため、ページを開き、スクリプトパネルが有効になっていることを確認し、そのボタンをクリックして、selectボックスを変更します。これにより、Firebug でブレークポイントトリガーされます。その後、コードをステップ実行して、いつ何が呼び出されているかを把握できます。

または、別のツールを使用してもかまわない場合は、Google Chromeに組み込みのデバッガーとインスペクターがあり、要素に関連付けられたイベント ハンドラーを表示できます。selectそのため、Chrome でページを表示する場合は、ボックスを右クリックしてInspect Elementを選択すると、下部の右側に、関連付けられているイベント ハンドラーのリストが表示されます。その方が働きやすいかもしれません。

最後に、どちらのツールでも、実際にデータの再読み込みを引き起こしている内部コードの一部を特定できれば (たとえば、URL やXmlHTTPRequestインスタンス、または jquery を使用している場合は jQuery の.ajax.post.get、または.getJSON関数を探すことによって)、その上にブレークポイントを配置して選択をトリガーし、コールスタックを確認できます (両方のツールの右側にあります)。

幸運を!

于 2010-10-07T15:48:54.890 に答える
1

悲しいことに、この時点では、Cognos で昔ながらのアラート ボックスによるデバッグ方法を使用するのが最善の方法です。IBM は、新しいバージョンの Cognos は Firefox で動作すると述べていますが、IBM 以前のコードは非常に IE 中心であり、新しいバージョンの IE では特に優れていませんでした。また、IE の新しいバージョンで F12 デバッガー機能を使用することもできます。これは便利な場合があります。私は、これが Firebug ほど優れているとは思いません。

また、デバッグしようとしていた実際の問題に関して、レポートの編集中に Cognos で選択すると、「自動送信」というパラメーターが表示されます。これを「いいえ」に変更すると、jQuery で動作を無効にする必要がなくなります。

于 2010-10-11T15:49:28.253 に答える
0

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

于 2010-10-07T15:44:49.867 に答える
0

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

于 2010-10-07T15:46:08.770 に答える