16,548
社区成员




我需要通过资源ID来加载HTML引用的CSS例程,谢谢。
网上的资料大都是互相抄的,没做任何验证过的,或者缺少关键的功能实现内容,或者就直接各种错误。。。
目前尝试了一下,发现直接用simple_app.cc当中通过LoadBinaryResource可以直接加载资源里面的二进制html文件,但这样就没法加载js文件了;
然后还可以本地磁盘不打包html,外部引用方式加载html,这样的话js文件可以frame->ExecuteJavaScript()从资源ID里面加载,但是css不知道怎么处理,交流一下谢谢。
另外有没有简单例程可以将html/js/css全部都能通过资源ID集成打包的exe方式实施呢?谢谢
等有空弄篇博客啥的,方便大家白读一下哈
好神奇啊,折腾了三周啊,终于成了~
bool MyResourceHandler::ProcessRequest(CefRefPtr<CefRequest> request, CefRefPtr<CefCallback> callback)
{
std::string url = request->GetURL();
if (url.find("test1.css") != std::string::npos) {
// 处理CSS文件的请求
ProcessResponse(callback);
//std::string cssContent = "body { background-color: #f0f0f0; }";
callback->Continue();
return true;
}
return false; // 不处理其他请求
}
void MyResourceHandler::ProcessResponse(CefRefPtr<CefCallback> callback)
{
std::string cssContent = "body { background-color: #f0f0f0; }"; // 示例CSS内容
CefRefPtr<CefResponse> response = CefResponse::Create();
response->SetMimeType("text/css");
response->SetStatus(200); // HTTP状态码200表示成功
callback->Continue(); // 继续处理请求,并发送响应内容
//这是某网友的例程,但是下面的最关键的这两行代码根本无法运行,全是错误。。。。。。
//SetResponseHeaders(response); // 发送响应头
//SendResponseData(cssContent); // 发送响应体数据
}