答案 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。