嵌入式 IE 浏览器:如何在导航完成前检测重定向?

Embedded IE browser: how to detect redirect before navigation completes?

我在嵌入式浏览器中托管一个 OAuth 页面。我想尽快关闭登录页面,而不是等待重定向页面加载(OAUth 提供程序需要有效的重定向 url)。

如何检测到重定向 url 的导航? OnBeforeNavigate 触发一个 url,但 OnNavigateComplete 触发最后一个 url,并且(显然)需要时间来导航和加载页面。我更愿意在浏览器实际到达最终重定向页面之前通过检测重定向和退出来跳过该步骤。

谢谢!

在 IDocHostUIHandler::GetHostInfo 的主机实现中,打开 DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION 标志。然后,您将获得每个重定向的 DWebBrowserEvents2::BeforeNavigate2,并且可以根据需要取消重定向。