Skip to content

Latest commit

 

History

History
451 lines (311 loc) · 9.44 KB

CefControl.md

File metadata and controls

451 lines (311 loc) · 9.44 KB

CefControl(Cef 控件)

CefControlCefNativeControl 继承了 Control 控件属性和方法,更多可用属性和方法请参考:Control 控件

  • CefControl 是离屏渲染模式的 CEF 控件
  • CefNativeControl 是真窗口模式的 CEF 控件(具有窗口句柄)

CEF 控件使用了最后支持 XP 的 2623 版本,控件依赖 CEF 已经编译好的二进制文件(见 bin 目录中 cef 和 cef_x64)和 CEF 的 C++ 封装层 third_party\\cef_wrapper, 如果使用到了 CefControlCefNativeControl,需要将对应版本的 cef 目录复制到可执行文件相同目录并将 third_party\\cef_wrapper 目录设置为公共头目录,更多请参考 samples 目录下的 cef 示例和 multi_browser 示例。

方法名称 用途
LoadURL 加载一个地址
LoadString 给指定地址添加一个字符串资源
GoBack 后退
GoForward 前进
CanGoBack 判断是否可以后退
CanGoForward 判断是否可以前进
Refresh 刷新
StopLoad 停止加载
IsLoading 是否加载中
StartDownload 开始一个下载任务
SetZoomLevel 设置页面缩放比例
GetURL 获取页面 URL
GetUTF8URL 获取 UTF8 格式 URL
GetMainURL 获取网址 # 号前的地址
RegisterCppFunc 注册一个 C++ 方法提供前端调用
UnRegisterCppFunc 反注册一个 C++ 方法
CallJSFunction 调用一个前端已经注册好的方法
CallJSFunction 调用一个前端已经注册好的方法
AttachDevTools 绑定开发者工具到一个 CefControl 控件上
DettachDevTools 解绑开发者工具
IsAttachedDevTools 判断是否已经绑定开发者工具到一个 CefControl
RepairBrowser 修复浏览器
AttachBeforeContextMenu 绑定一个回调函数用于监听右键菜单弹出
AttachMenuCommand 绑定一个回调函数用于监听选择了哪个右键菜单
AttachTitleChange 绑定一个回调函数用于监听页面 Title 改变
AttachUrlChange 绑定一个回调函数用于监听页面中 frame URL 地址改变
AttachMainURLChange 绑定一个回调函数用于监听主页面 URL 地址改变
AttachBeforeNavigate 绑定一个回调函数用于监听页面资源全部加载完毕
AttachLinkClick 绑定一个回调函数用于监听一个弹出窗口弹出的通知
AttachLoadingStateChange 绑定一个回调函数用于监听页面加载状态改变
AttachLoadStart 绑定一个回调函数用于监听页面开始加载通知
AttachLoadEnd 绑定一个回调函数用于监听页面加载完毕通知
AttachLoadError 绑定一个回调函数用于监听界面加载错误通知
AttachDevToolAttachedStateChange 绑定一个回调函数用于监听开发者工具状态改变通知

LoadURL

加载一个地址

void LoadURL(const CefString& url)
  • 参 数:
    • url 网站地址
  • 返回值:无

LoadString

给指定地址添加一个字符串资源

void LoadString(const CefString& stringW, const CefString& url)
  • 参 数:
    • stringW 字符串资源
    • url 网址
  • 返回值:无

GoBack

后退

void GoBack()
  • 参 数:无
  • 返回值:无

GoForward

前进

void GoForward()
  • 参 数:无
  • 返回值:无

CanGoBack

判断是否可以后退

bool CanGoBack()
  • 参 数:无
  • 返回值:返回 true 表示可以,false 表示不可以

CanGoForward

判断是否可以前进

bool CanGoForward()
  • 参 数:无
  • 返回值:返回 true 表示可以,false 表示不可以

Refresh

刷新

void Refresh()
  • 参 数:无
  • 返回值:无

StopLoad

停止加载

void StopLoad()
  • 参 数:无
  • 返回值:无

IsLoading

是否加载中

bool IsLoading()
  • 参 数:无
  • 返回值:返回 true 表示加载中,否则为 false

StartDownload

开始一个下载任务

void StartDownload(const CefString& url)
  • 参 数:
    • url 要下载的文件地址
  • 返回值:无

SetZoomLevel

设置页面缩放比例

void SetZoomLevel(float zoom_level)
  • 参 数:
    • zoom_level 比例值
  • 返回值:无

GetURL

获取页面 URL

CefString GetURL()
  • 参 数:无
  • 返回值:返回 URL 地址

GetUTF8URL

获取 UTF8 格式 URL

std::string GetUTF8URL()
  • 参 数:无
  • 返回值:返回 URL 地址

GetMainURL

获取网址 # 号前的地址

CefString GetMainURL(const CefString& url)
  • 参 数:
    • url 要获取的完整地址
  • 返回值:返回截取后的地址

RegisterCppFunc

注册一个 C++ 方法提供前端调用

bool RegisterCppFunc(const std::wstring& function_name, nim_cef::CppFunction function, bool global_function = false)
  • 参 数:
    • function_name 方法名称
    • function 方法函数体
    • global_function 是否是一个全局方法
  • 返回值:返回 true 表示注册成功,false 可能已经注册

UnRegisterCppFunc

反注册一个 C++ 方法

void UnRegisterCppFunc(const std::wstring& function_name)
  • 参 数:
    • function_name 方法名称
  • 返回值:无

CallJSFunction

调用一个前端已经注册好的方法

bool CallJSFunction(const std::wstring& js_function_name, const std::wstring& params, nim_cef::CallJsFunctionCallback callback, const std::wstring& frame_name = L"")
  • 参 数:
    • js_function_name 前端提供的方法名
    • params 传递 JSON 字符串格式的参数
    • callback 前端执行完成后的回调函数
    • frame_name 要调用哪个名称 frame 下的方法,默认使用主 frame
  • 返回值:返回 true 表示成功调用,false 表示调用失败,方法可能不存在

CallJSFunction

调用一个前端已经注册好的方法

bool CallJSFunction(const std::wstring& js_function_name, const std::wstring& params, nim_cef::CallJsFunctionCallback callback, int frame_id)
  • 参 数:
    • js_function_name 前端提供的方法名
    • params 传递 JSON 字符串格式的参数
    • callback 前端执行完成后的回调函数
    • frame_id 要调用哪个 ID frame 下的方法,默认使用主 frame
  • 返回值:返回 true 表示成功调用,false 表示调用失败,方法可能不存在

AttachDevTools

绑定开发者工具到一个 CefControl 控件上

virtual bool AttachDevTools(CefControl* view)
  • 参 数:
    • view 一个 CefControl 控件实例
  • 返回值:成功返回 true,失败返回 false

DettachDevTools

解绑开发者工具

virtual void DettachDevTools()
  • 参 数:无
  • 返回值:无

IsAttachedDevTools

判断是否已经绑定开发者工具到一个 CefControl

virtual bool IsAttachedDevTools()
  • 参 数:无
  • 返回值:返回 true 表示已经绑定,false 为未绑定

RepairBrowser

修复浏览器

virtual void RepairBrowser()
  • 参 数:无
  • 返回值:无

AttachBeforeContextMenu

绑定一个回调函数用于监听右键菜单弹出

void AttachBeforeContextMenu(const OnBeforeMenuEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnBeforeMenuEvent 声明
  • 返回值:无

AttachMenuCommand

绑定一个回调函数用于监听选择了哪个右键菜单

void AttachMenuCommand(const OnMenuCommandEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnMenuCommandEvent 声明
  • 返回值:无

AttachTitleChange

绑定一个回调函数用于监听页面 Title 改变

void AttachTitleChange(const OnTitleChangeEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnTitleChangeEvent 声明
  • 返回值:无

AttachUrlChange

绑定一个回调函数用于监听页面中 frame URL 地址改变

void AttachUrlChange(const OnUrlChangeEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnUrlChangeEvent 声明
  • 返回值:无

AttachMainURLChange

绑定一个回调函数用于监听主页面 URL 地址改变

void AttachMainURLChange(OnMainURLChengeEvent cb)
  • 参 数:
    • callback 一个回调函数,参考 OnMainURLChengeEvent 声明
  • 返回值:无

AttachBeforeNavigate

绑定一个回调函数用于监听页面资源全部加载完毕

void AttachBeforeNavigate(const OnBeforeResourceLoadEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnBeforeResourceLoadEvent 声明
  • 返回值:无

AttachLinkClick

绑定一个回调函数用于监听一个弹出窗口弹出的通知

void AttachLinkClick(const OnLinkClickEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnLinkClickEvent 声明
  • 返回值:无

AttachLoadingStateChange

绑定一个回调函数用于监听页面加载状态改变

void AttachLoadingStateChange(const OnLoadingStateChangeEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnLoadingStateChangeEvent 声明
  • 返回值:无

AttachLoadStart

绑定一个回调函数用于监听页面开始加载通知

void AttachLoadStart(const OnLoadStartEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnLoadStartEvent 声明
  • 返回值:无

AttachLoadEnd

绑定一个回调函数用于监听页面加载完毕通知

void AttachLoadEnd(const OnLoadEndEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnLoadEndEvent 声明
  • 返回值:无

AttachLoadError

绑定一个回调函数用于监听界面加载错误通知

void AttachLoadError(const OnLoadErrorEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnLoadErrorEvent 声明
  • 返回值:无

AttachDevToolAttachedStateChange

绑定一个回调函数用于监听开发者工具状态改变通知

void AttachDevToolAttachedStateChange(const OnDevToolAttachedStateChangeEvent& callback)
  • 参 数:
    • callback 一个回调函数,参考 OnDevToolAttachedStateChangeEvent 声明
  • 返回值:无