在处理程序类构造函数中初始化CefResourceManager指针,并立即调用SetupResourceManager函数。
Application.Quit();
效果很好。
但是在当前的业务需求中,初始化处理程序时,资源(zip文件)尚未准备好,因此我尝试先调用CreateBrowser,然后在下载资源文件时在处理程序类中调用AddArchiveProvider,例如这个。
cefclient_handler::cefclient_handler(CefRefPtr<QCefPage> listner, CefRefPtr<CefRenderHandler> osrenderHandler)
: is_closing_(false), clientListner_(listner), osrenderHandler_(osrenderHandler){
resource_manager_ = new CefResourceManager();
SetupResourceManager(resource_manager_ ,"file:///D:/test/test.zip")
}
void SetupResourceManager(CefRefPtr<CefResourceManager> resource_manager,std::string resource_dir) {
if (!CefCurrentlyOn(TID_IO)) {
// Execute on the browser IO thread.
CefPostTask(TID_IO, base::Bind(SetupResourceManager, resource_manager, resource_dir));
return;
}
resource_manager->AddArchiveProvider("https://***.net", resource_dir,"", 0,
std::string());
}