CHtmlView:在OnNavigateError中重定向

时间:2014-10-17 02:59:37

标签: c++ windows visual-c++ mfc

我正在编写一个MFC Windows C ++应用程序,该应用程序使用CHtmlView在UI中显示WebBrowser控件。我遇到了重定向HTTP错误的问题。在我开始讨论这个问题之前,请允许我说在这种情况下我不可能使用CEF或任何其他可嵌入的浏览器。

我有一个C ++类,它派生自CHtmlView(WebBrowser控件)。该类在初始化时使用URL调用Navigate2。在某些情况下,导航可以导致403或404.我想拦截该HTTP错误并重定向到我选择的页面,甚至再次调用Navigate2重试。但是,当我从Navigate2内拨打OnNavigateError时,它似乎没有任何效果,浏览器也不会切换到其他网址。

void MyCHtmlView::OnNavigateError(LPCTSTR url, PCTSTR frame, DWORD error, BOOL *cancel) 
{
    *cancel = FALSE;
    Navigate2(error_url, NULL, NULL); // Doesn't navigate to error_url?!
}

有谁知道如何解决这个问题?感谢。

0 个答案:

没有答案