CEF CefBrowser和CefFrame
CefBrowser和CefFrame对象用于将命令发送到浏览器,并在回调方法检索的状态信息。每个CefBrowswer对象可以拥有一个代表顶级的CefFrame框架和代表0个或者多个CefFrame的子框架。
例如,一个加载了两个CefFrame的CefBrowswer将具有三个CefFrame对象(顶级框架和两个CefFrame)。
在浏览器主框架中加载URL
browser->GetMainFrame()->LoadURL(some_url);
浏览器向后导航:
browser->GoBack();
接收主框架的HTML contents
// 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();
其他方法可用于历史导航,字符串和请求的加载,发送编辑命令,检索文本/ html内容等