CEF C++ 实现下载处理程序

CEF C++ Implementing download handler

我正在尝试实现 CefDownloadHandler 以允许在我的应用程序中下载文件。当我单击 link 时,javascript 代码会将用户重定向到 excel 文件的下载 link。但是当我 运行 我的应用程序通过 CEF 时,下载不会发生。我已经实现了 CefDownloadHandler 但该函数似乎从未调用过。

以下是我目前的代码

class SimpleHandler : public CefClient,
public CefDisplayHandler,
public CefLifeSpanHandler,
public CefLoadHandler,
public CefDownloadHandler{
public: 
virtual void OnBeforeDownload(CefRefPtr< CefBrowser > browser, CefRefPtr< CefDownloadItem > download_item, const CefString& suggested_name, CefRefPtr< CefBeforeDownloadCallback > callback) OVERRIDE;

}

void SimpleHandler::OnBeforeDownload(CefRefPtr< CefBrowser > browser, CefRefPtr< CefDownloadItem > download_item, const CefString& suggested_name, CefRefPtr< CefBeforeDownloadCallback > callback) {
CEF_REQUIRE_UI_THREAD();
cef_log("simple Hanlder", 200, 1, "download");

callback->Continue(suggested_name, true);
//UNREFERENCED_PARAMETER(browser);
//UNREFERENCED_PARAMETER(download_item);

}

找到了!!!!

这是一个愚蠢的错误。我希望这个答案对某人有所帮助。

我忘了获取下载处理程序。

virtual CefRefPtr<CefDownloadHandler> GetDownloadHandler() OVERRIDE {
    return this;
}