CEF CefSettings 結構體 詳解


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM