CEF CefSettings 结构体 详解

1. single_process:javascript

        设置为ture时,browser和render使用同一个进程。Chromium 不正是支持此运行模式,而且不如默认的多进程稳定。css

 

2. no_sandbox:html

        沙盒是在受限的安全环境中运行应用程序的一种作法,这种作法是要限制授予应用程序的代码访问权限。沙盒中的全部改动对操做系统不会形成任何损失。设置为ture(1) 以禁止子进程的沙箱。java

 

3. multi_threaded_message_loop:linux

        多线程消息循环,为false时,能够调用CefRunMessageLoop或者CefDoMessageLoopWork函数来触发Cef消息循环,这时浏览器进程的UI线程就是调用CefRunMessageLoop或者CefDoMessageLoopWork函数的线程。当为true时。浏览器进程的UI线程是另外的线程。设置multi_threaded_message_loop为true则使用多线程消息循环。通常默认为false,使用定时器进行事件触发CefDoMessageLoopWork来进行事件处理。(仅在windows上支持此选项)数据库

 

4. external_message_pump:windows

        设置为true(1)来控制浏览器进程主(UI)线程消息泵,经过CefBrowserProcessHandler :: OnScheduleMessagePumpWork()回调进行调度。若是必须将CEF消息循环集成到现有的应用程序消息循环中,建议将此选项与CefDoMessageLoopWork()函数结合使用。对于大多数用户,建议不要启用此选项;禁用此选项并使用 CefRunMessageLoop()函数或multi_threaded_message_loop(若是可能)。api

 

5. windowless_rendering_enabled:浏览器

        离屏渲染,须要在CefRenderHandler里实现OnPaint。设置为true(1)以启用无窗口(屏幕外)渲染支持。若是应用程序不使用无窗口渲染,请不要启用此值,它可能会下降某些系统上的渲染性能。缓存

 

6. command_line_args_disabled:

        cef3和chromium中的许多特性均可以用命令行参数来设置。这些参数使用”–some-argument[=optional-param]”的格式并经过CefExecuteProcess()和CefMainArgs结构体传递给cef。

禁用命令行参数,在调用CefInitialize()函数以前,将CefSettings.command_line_args_disabled设为true。

指定主应用程序的命令行参数,须要实现CefApp::OnBeforeCommandLineProcessing()方法。

指定传递给子进程的命令行参数,须要实现CefApp::OnBeforeCommandLineProcessing()方法。

 

7. persist_session_cookies:

        在使用全局cookie管理器时,默认状况下, 要保持会话cookie(没有到期日期或有效期的间隔),将此值设置为true(1)。会话cookie一般是暂时的,大多数Web浏览器不会持久化。A | cache_path | 还必须指定值以启用此功能。也可使用“persist-session-cookies”命令行开关进行配置。能够经过CefRequestContextSettings.persist_session_cookies值覆盖各个CefRequestContext实例。

 

8. persist_user_preferences:

      将用户首选项做为JSON文件保存在缓存路径目录中将此值设置为true(1)。A | cache_path | 还必须指定以启用此功能。也可使用“persist-user-preferences”命令行开关进行配置。能够经过 CefRequestContextSettings.persist_user_preferences值覆盖各个CefRequestContext实例。

 

 

9. log_severity :

        此项设置日志级别。只有此等级、或者比此等级高的日志的才会被记录。此项能够经过命令行参数“log-severity”配置,能够设置的值为“verbose”,“info”,“warning”,“error”,“error-report”,“disable”。

 

10. pack_loading_disabled :

        设置为true(1)以禁用资源和区域设置的包文件加载。若是禁用了包文件的加载,则必须为浏览器提供资源包处理程序并经过CefApp :: GetResourceBundleHandler()呈现进程。也可使用“disable-pack-loading”命令 进行开关进行配置。

 

11.remote_debugging_port :

        此项能够设置1024-65535之间的值,用于在指定端口开启远程调试。例如,若是设置的值为8080,远程调试的URL为http://localhost:8080。CEF或者Chrome浏览器可以调试CEF。此项也能够经过命令行参数“remote-debugging-port”配置。

 

12. uncaught_exception_stack_size :

        捕获未捕获异常的堆栈跟踪帧数。指定一个正值以启用CefRenderProcessHandler::OnUncaughtException()回调。指定0(默认值)和不会调用OnUncaughtException()。也可使用uncaught-exception-stack-size”命令行开关进行配置。

 

13. ignore_certificate_errors:

        设置为true(1)以忽略与无效SSL证书相关的错误。启用此设置可能会致使潜在的安全漏洞,例如“中间人”攻击。从Internet 加载内容的应用程序不该启用此设置。也可使用“ignore-certificate-errors”命令行开关进行配置。能够经过 CefRequestContextSettings.ignore_certificate_errors值覆盖各个CefRequestContext实例。

 

14. enable_net_security_expiration : 

        设置为true(1)以启用内置网络安全信息的日期到期(即证书透明度日志,HSTS预加载和固定信息)。启用此选项可提升网络安全性

 

15. background_color:

        在加载文档以前和没有指定文档颜色时用于浏览器的背景颜色。alpha份量必须是彻底不透明(0xFF)或彻底透明(0x00)。若是alpha份量彻底是不透明的,则RGB份量将用做背景颜色。若是 alpha组件对于窗口浏览器彻底透明,则使用默认值opaque white。若是alpha组件对于无窗口(屏幕外)浏览器是彻底透明的,那么将启用透明绘制

 

16. browser_subprocess_path:

        设置用于启动子进程单独执行器的路径。(cefprocess.exe)。若是在windows上或者linux上为空,则使用祝金程的可执行文件。

 

17.framework_dir_path :

   macOS上的cef目录路径。若是此值为空,那么狂姐必须存在于顶级应用程序包中。

 

18. cache_path : 

        设置磁盘上用于存放缓存数据的位置。若是为空则将以“隐身模式”建立浏览器,其中内存缓存用于存储,而且没有数据持久保存到磁盘。若是指定了缓存路径,则 localStorage 等HTML5数据库将仅在会话中保持不变。能够经过CefRequestContextSettings.cache_path值覆盖单个CefRequestContext实例。

 

19. user_data_path :

        将拼写检查字典文件等用户数据存储在磁盘上的位置。若是为空,则将使用默认的特定于平台的用户数据目录(Linux上的“〜/ .cef_user_data”目录,

“Mac OS X上的〜/ Library / Application Support / CEF / User Data”目录,   

Windows上用户“Local Settings\Application Data\CEF\User Data”目录)。

 

20. user_agent:

        设置客户端标识,服务器能够识别是从哪里发来的请求。

 

21. product_version:

       将做为默认User-Agent字符串的产品部分插入的值。若是为空,将使用Chromium产品版本。若是 | userAgent | 指定此值将被忽略。也能够配置使用“product-version”命令行开关。

 

22. locale : 

        此设置项将传递给Blink。若是此项为空,将使用默认值“en-US”。在Linux平台下此项被忽略,使用环境变量中的值,解析的依次顺序为:LANGUAE,LC_ALL,LC_MESSAGES和LANG。此项也能够经过命令行参数“lang”配置。

 

23. log_file : 

        此项设置的文件夹和文件名将用于输出debug日志。若是此项为空,默认的日志文件名为debug.log,位于应用程序所在的目录。此项也能够经过命令参数“log-file”配置。

 

24. javascript_flags : 

        初始化V8 JavaScript引擎时将使用的自定义标志。使用自定义标志的后果可能未通过充分测试。也使用“JS-标志”命令行开关//配置。

 

25. resources_dir_path :

        此项设置资源文件夹的位置。若是此项为空,Windows平台下cef.pak、devtools_resourcs.pak、Mac OS X下的app bundle Resources目录必须位于组件目录。此项也能够经过命令行参数“resource-dir-path”配置。

 

26. locales_dir_path : 

        此项设置locale文件夹位置。若是此项为空,locale文件夹必须位于组件目录,在Mac OS X平台下此项被忽略,pak文件从app bundle Resources目录。此项也能够经过命令行参数“locales-dir-path”配置。

 

27. accept_language_list :

        逗号分隔的有序语言代码列表,没有任何空格将在“Accept-Language”HTTP标头中使用。可使用CefBrowserSettings.accept_language_list值在每一个浏览器的基础上覆盖。若是两个值都为空,则使用“en-US,en”。能够经过CefRequestContextSettings.accept_language_list值覆盖各个CefRequestContext实例。
---------------------
 
原文:https://blog.csdn.net/xiezhongyuan07/article/details/84402083
 

https://magpcss.org/ceforum/apidocs3/projects/(default)/_cef_settings_t.html