如何找到IWebBrowser2 :: Navigate无法打开我想要的URL

时间:2012-08-27 03:40:56

标签: internet-explorer com atl

如何找到IWebBrowser2::Navigate无法打开我想要的网址?

我的意思是,网站可能根本不存在,IE只显示错误404,并在函数后返回S_OK

如何获取有关导航请求状态的详细信息?

1 个答案:

答案 0 :(得分:2)

该方法返回成功,因为Web浏览器确实成功地根据您的请求进行导航。它做了它所拥有的,并且无法找到它,正如预期的那样,它显示404页面。因此,S_OK

DWebBrowserEvents2::NavigateError Event为您提供所需的详细信息。您需要处理浏览器事件以接收所需的详细信息。

  

由于导航错误,Windows Internet Explorer显示错误页面之前会触发此事件。应用程序有机会通过将Cancel参数设置为VARIANT_TRUE来停止显示错误页面。但是,如果原始导航中联系的服务器提供其自己的替代页面导航,则当您将“取消”设置为VARIANT_TRUE时,它将无效,并且将继续导航到服务器的备用页面。例如,假设导航到http://www.www.wingtiptoys.com/BigSale.htm会导致此事件触发,因为该页面不存在。但是,服务器设置为将导航重定向到http://www.www.wingtiptoys.com/home.htm。在这种情况下,当您将取消设置为VARIANT_TRUE时,它无效,导航将进入http://www.www.wingtiptoys.com/home.htm