私は現在、私の会社のためのC++ BHOプロジェクトを完成させています。そして、私が望んでいたよりもかなり後のかなりの重大なバグを発見しました。私は現在、シンクを使用してBeforeNavigate2、NavigateComplete2、NavigateError、および他のいくつかのイベントをキャプチャするBHOを持っていますが、302のリダイレクトURLをキャプチャする問題が発生しています。IE8 BHOでカスケード302リダイレクトをキャプチャする方法は?
したがって、たとえば、私たちは4つのサイト持って言うことができます:、302は302のサイトDにリダイレクトすることをサイトC サイトCにリダイレクトすることをB へのリンクサイトBがあり
開始サイトAを
ユーザがサイトAで始まり、最終サイトD:クリックサイトB:サイトB、サイトCにリダイレクトは、サイトC、サイトDにリダイレクト:ユーザーはこのシナリオでサイトにD.
を巻き取る、私BeforeNavigate2はサイトBのURLを取得し、NavigateCompleteはサイトDのURLを取得します。しかし、サイトCは私のBHOには完全に見えません。このシナリオでは、BとDの間に任意の数の302を追加することができ、それらをキャプチャすることはできません。
注:Internet Explorer 7では、すべてのリダイレクトトリガーをBeforeNavigate2にするGetHostInfoフラグにDOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATIONを追加して解決しました。 。。しかし、それはIE8は、このフラグを尊重していない:(
FWIW表示され、DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATIONはまだ正常に動作する必要があり、あなたがしたいこと – EricLaw
私もそうだと思っていましたが、GetHostInfoの他のMSHTML上書きがうまく動作することを確認できます。DOCHOSTUIFLAG_SCROLL_NOとスクロールバーが含まれていましたので、いくつかのフラグが動作することを知りました。 – Luke