cefclient使用总结

  1. CEF_USE_SANDBOX这个宏最好不要定义,似乎会引发一些问题,比如某些系统上不能运行
  2. cefclient_win.cc

    CEF启动时的命令行写法,command_line->AppendSwitch(“–disable-extensions”);
    namespace switches搜索这个可以找到很多的命令行设置

    settings.log_severity = LOGSEVERITY_DISABLE; //去掉cef自己的log
    settings.remote_debugging_port = 3001; //设置远程调试端口,可以在浏览器里打开调试窗口,比较方便
    settings.multi_threaded_message_loop = true;//这个选项会影响到消息循环的模式,仔细选择
    CefString(&settings.cache_path) = CefString(“C:/cefLocalStorage”);//设置了路径才可以保存cookie和localstorage,不然每次关闭就删除了

  3. libcef_wrapper包装了base64和urlencode的函数,不要自己写,函数名CefBase64Encode,CefURIEncode,同一个文件里有很多工具函数,比如文件/目录操作,json,系统时间,崩溃报告,压缩文件等,可以好好看看
  4. client_handler.cc

    LoadErrorPage(),加载页面失败时候展示的内容,可以自己修改
    OnBeforeContextMenu(),右键菜单展示的内容,可以自己添加或者删除菜单项
    OnAddressChange(),当地址栏里的内容改变的时候的回调,类似的函数很多,可以看看附近的代码,也许有需要的功能
    OnDragEnter(),对拖动内容的处理
    OnPreKeyEvent(),按键钩子
    OnBeforeClose(),DoClose(),以及RootWindowWin::OnClose(),这三个函数,在哪处理关闭时的函数,可以仔细选择一下
    OnBeforeResourceLoad(),重要,这里可以对请求进行拦截

  5. test_runner.cc

    很多示例都在这里注册,js和c++交互也可以在这里注册,然后找一个例子,模仿着来
    CreateMessageHandlers(),注册的地方

  6. 当有些东西不知道该怎么使用,或者不知道哪里出了问题,可以去electron那里看看,人家的文档相对完备些

你可能感兴趣的:(cef)