2013-04-25 20 views
6

IWebBrowser2インターフェイスの使用は、ナビゲーション(OnBeforeNavigate)および終了(OnDocumentComplete)が行われたときにはかなり簡単です。しかし、ブラウザでの多くの作業はAjax呼び出し(XMLHttpRequestを使用)を介して行われます。Ajax呼び出しを検出するためのInternet Explorerアドオン

IEでAjax呼び出しが発生して終了したときにイベントを登録する方法はありますか?

+0

これを確認してください:http://social.msdn.microsoft.com/Forums/en-US/windowssdk/thread/66aee0aa-2c1e-4fa2-9eb3-a4b80481288f –

答えて

1

この前の質問には、答えを提供しているようだ:

Monitor ajax calls from IE BHO

それは基本的にあなたがonreadystatechangeを処理するために、すべてのページにいくつかのJavaScriptを注入しなければならないと言います。

+0

私が探している解決策は、多くの場合、私たちはそれを支配しないので、DOMやWebアプリケーションの変更が必要です。 –

+1

webappを変更する必要はありません。 BHOはあなたのコントロール下にあるかどうかにかかわらず、[任意のページにスクリプトを挿入する]ことができます(http://www.codeguru.com/csharp/article.php/c18725/Advanced-C-Programming-Developing-IE-Extensions.htm)。か否か。 – kichik

+0

これは、jQuery $ Ajaxなどのコールを追跡するのに役立つことはまだありません。 –

3

正式な方法は、IHTMLChangeSinkを使用して変更履歴を作成することです。複雑ではありませんが、実装するのはちょっと面倒ですので、リクエストを失うことはありません。

InternetSetOptionを使用してローカルプロキシサーバーにプロキシを設定してください(最初の引数は現在のプロセスに設定するNULLです)。

+0

ありがとうございます。ユーザーが設定を行うことなく、BHOやポリシーを通じて透過的に行うことができるものなのかどうか知っていますか? –

+0

@OtávioDécio - HTTPプロキシは、 'IWebBrowser2'を' InternetSetOption'で接続するように設定したBHOの中で動作します。ユーザーが設定を行う必要はありません。 – geocar

関連する問題