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