如果IWebBrowser2::Navigate
无法打开我想要的 URL,如何查找?
我的意思是,该网站可能根本不存在,IE只是显示一个错误404,并S_OK
在函数后返回。
如何获取有关导航请求状态的详细信息?
如果IWebBrowser2::Navigate
无法打开我想要的 URL,如何查找?
我的意思是,该网站可能根本不存在,IE只是显示一个错误404,并S_OK
在函数后返回。
如何获取有关导航请求状态的详细信息?
该方法返回成功,因为 Web 浏览器确实成功地根据您的请求进行导航。它做了它必须做的并且无法找到它的网站,正如预期的那样,它显示了 404 页面。因此,S_OK
。
DWebBrowserEvents2::NavigateError 事件为您提供所需的详细信息。您需要处理浏览器事件以接收所需的详细信息。
由于导航错误,此事件在 Windows Internet Explorer 显示错误页面之前触发。应用程序有机会通过将 Cancel 参数设置为 VARIANT_TRUE 来停止显示错误页面。但是,如果在原始导航中联系的服务器提供了自己的替代页面导航,则当您将 Cancel 设置为 VARIANT_TRUE 时,它不起作用,并且继续导航到服务器的替代页面。例如,假设导航到http://www.www.wingtiptoys.com/BigSale.htm会导致触发此事件,因为该页面不存在。但是,服务器设置为将导航重定向到http://www.www.wingtiptoys.com/home.htm。在这种情况下,当您将 Cancel 设置为 VARIANT_TRUE 时,它不起作用,并且导航继续http://www.www.wingtiptoys.com/home.htm。