0

IEでBHO(Browser Helper Object)を作成していますが、リダイレクトを追跡する必要があります。

最初はBeforeNavigate2イベントが必要だと思っていましたが、実際には主にフレーム用であることがわかりました。次に、リダイレクトがあると、WebBrowserEvents2のNavigateComplete2イベントが2回発生するように見えることがわかりました。しかし、私の観察が正しいかどうかはわかりません。また、NavigateComplete2イベントのシーケンスがリダイレクトまたはユーザーのクリックによるものかどうかを判断する方法もわかりません。お知らせ下さい!

4

2 に答える 2

0

多くの試行錯誤の中で、BeforeNavigate2から渡されたブラウザーインターフェイスポインターを、BHOを作成したときに取得したものと比較すると、実際の開始URLが何であるかを理解できることがわかりました。それらが同じである場合、BeforeNavigate2に渡されるURLが必要なものです。それをNavigateComplete2から取得したものと比較する必要があります。それらが異なる場合、それはリダイレクトの兆候です。1つの落とし穴は、新しいウィンドウが開いたときです。その場合、NewWindowイベントも監視し、特別な処理を行う必要があります(新しいウィンドウが開かれると、BeforeNavigate2 URLもNavigateComplete2に渡されるため、フラグを設定してそれに応じて処理する必要があります)。

于 2012-12-03T05:32:46.153 に答える
0

ブラウザーオブジェクト内の個別のフレームによってNavigateComplete2が起動されていたのと同様の状況で、DocumentCompleteがトリックを実行し、トリガーする前にすべてのフレームがロードされるのを待機していることがわかりました。おそらくこれはあなたの状況に役立つ可能性がありますか?

于 2014-05-08T20:43:41.510 に答える