CEF CefSettings 结构体 详解

摘要:
通常,默认值为false,CefDoMessageLoopWork由事件处理计时器触发。如果必须将CEF消息循环集成到现有的应用程序消息循环中,建议将此选项与CefDoMessageLoopWork()函数结合使用。这些参数使用“–some argument[=optional param]”格式,并通过CefExecuteProcess()和CefMainArgs结构传递给cef。禁用命令行参数,并在调用CefInitialize()函数之前设置CefSettings.command。line_args_Disabled设置为true。要指定主应用程序的命令行参数,需要实现CefApp::OnBeforeCommandLineProcess()方法。指定正值以启用CefRenderProcessHandler::OnUnaughtException()回调。CefRequestContextSettings.ignore_certificate_errors值覆盖每个CefRequestContext实例。

1. single_process:

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

2. no_sandbox:

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

3. multi_threaded_message_loop:

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

4. external_message_pump:

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

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 SettingsApplication DataCEFUser 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

免责声明:文章转载自《CEF CefSettings 结构体 详解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据同步增量全量的区别ROS官网新手级教程总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python--命令行参数解析Demo

写没有操作界面的程序时,最讨厌的就是参数解析问题,尤其是很多参数那种,下面是一个小Demo,拿出来与各位分享: 1 # -*- coding:utf8 -*- 2 import os 3 import datetime 4 import sys 5 from optparse import OptionParser 6 7...

Go之Viper

简介 Viper是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式;Viper是适用于Go应用程序(包括Twelve-Factor App)的完整配置解决方案。它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式。 特性 它支持以下特性: 设置默认值 从JSON、TOML、YAML、H...

Kubernetes进阶实战读书笔记:配置容器应用(容器化应用配置方式)

一、容器化应用配置方式 每个应用程序都是一个可执行程序文件、它包含操作码列表、CPU通过执行这些操作码来完成特定的操作、例如,cat命令是由:/usr/bin/cat文件提供的、该文件含有机器指令的列表、在屏幕上显示制定文件的内容时需要使用这些机器指令、几乎每个程序的行为都可以通过其命令选项及参数或配置文件来按需定制、实践中、人们通常不会以默认的配置参数运...

【山外笔记-工具框架】Netperf网络性能测试工具详解教程

本文下载链接: 【学习笔记】Netperf网络性能测试工具.pdf 一、Netperf工具简介 1、什么是Netperf ? (1)Netperf是由惠普公司开发的一种网络性能测量工具,主要针对基于TCP或UDP的传输。 (2)Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应...

【NS-3学习】ns3-模拟基础:关键概念,日志,命令行参数

前言 本篇博客先介绍在仿真过程中会使用到的一些关键概念,然后介绍便于调试仿真脚本的常用技术:日志、命令行参数。 关键概念 节点 在因特网术语中,主机(终端)是指任何一台连接到网络的计算设备。ns-3并非一个专门的因特网模拟器,而是一个网络模拟器。为此不采用术语“主机”,因为这个词太容易让人联想到因特网以及相关协议。因此,选用其他术语:节点。 可以将节点理...

shell 命令行参数(基本)

命令行参数 $0 表示程序名。$1 至 $9则是位置参数。$# 表示参数的个数。$* 将所有参数当做一个整体来引用$@ 把每个参数作为一个字符串返回,可以使用for循环来遍历$? 最近一个执行的命令的退出状态。0表示执行成功$_ 上一个命令的最后一个参数。使用快捷键 ESC+. 也是这个效果 位置参数 位置参数不止9个,更多的参数也是一样支持的。只是要使用...