@lniwn
2017-11-20T19:23:03.000000Z
字数 2128
阅读 1205
chromium
可以通过CefSettings结构体来设置cef应用程序的特性。一些常用配置包括:
CefBrowser和CefFrame对象用来发送命令给浏览器以及在回调函数里获取状态信息。每一个CefBrowser对象都有一个主CefFrame对象来代表最顶层的frame,有0个或者多个相关联的CefFrame对象来代表子frame。比如一个浏览器加载的网站中有两个iframe标签的,此时,一个CefBrowser对象会有三个CefFrame对象(一个顶层frame和两个子frame)。
利用浏览器的主frame加载一个URL:
browser->GetMainFrame()->LoadURL(some_url);
浏览器回退
browser->GoBack();
获取主frame的HTML内容
// Implementation of the CefStringVisitor interface.
class Visitor : public CefStringVisitor {
public:
Visitor() {}
// Called asynchronously when the HTML contents are available.
virtual void Visit(const CefString& string) OVERRIDE {
// Do something with |string|...
}
IMPLEMENT_REFCOUNTING(Visitor);
};
browser->GetMainFrame()->GetSource(new Visitor());
CefBrowser和CefFrame对象存在于browser进程以及render进程中。浏览器的操作主要通过CefBrowser::GetHost()方法来掌控。比如,可以用如下方式获取浏览器窗口句柄:
// CefWindowHandle is defined as HWND on Windows, NSView* on Mac OS X
// and GtkWidget* on Linux.
CefWindowHandle window_handle = browser->GetHost()->GetWindowHandle();
其它一些方法可以实现历史导航、加载字符串、请求、发送编辑命令、获取文本内容,更多信息,请查看具体方法的完整文档。
更多信息,可参考在线API文档