CEF3 C++语言如何 Get HTML Source from Chromium Embedded
我的是基于win32 的CEF3,我想获取CEF3加载网页的源码,代码如下,但是运行到visitor->Visit(t_cefstring);会保错,难道是没重写Visit,但是如何重写呢?
void ClientHandler::OnLoadStart(CefRefPtr<CefBrowser> browser, CefRefPtr<CefFrame> frame)
{// Retrieve the current page source and display.
CefString t_cefstring;
CefRefPtr<CefStringVisitor> visitor;
frame->GetSource(visitor);
visitor->Visit(t_cefstring);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
class Visitor : public CefStringVisitor {
public:
explicit Visitor(CefRefPtr<CefBrowser> browser, LPVOID lpContext, Ec_GetSource_CallBack lpCallbackFunction) : browser_(browser),
context(lpContext), callback(lpCallbackFunction) {}
virtual void Visit(const CefString& string) OVERRIDE {
if (callback)
callback(context, string.ToWString().c_str());
}
private:
CefRefPtr<CefBrowser> browser_;
Ec_GetSource_CallBack callback;
PVOID context;
IMPLEMENT_REFCOUNTING(Visitor);
};
CefRefPtr<Visitor> a = new Visitor(browser, lpContext, lpCallbackFunction);
browser->GetMainFrame()->GetSource(a);