免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

CEF二進(jìn)制包解析與集成實(shí)戰(zhàn):從文件名到桌面應(yīng)用嵌入

CEF二進(jìn)制包解析與集成實(shí)戰(zhàn):從文件名到桌面應(yīng)用嵌入 簡介本資源是面向C桌面應(yīng)用開發(fā)者的CEFChromium Embedded Framework二進(jìn)制開發(fā)包專為在Windows 64位平臺(tái)集成現(xiàn)代Web渲染能力而設(shè)計(jì)適用于需嵌入瀏覽器引擎的客戶端軟件、跨平臺(tái)工具或富Web交互型桌面應(yīng)用開發(fā)。壓縮包共972個(gè)文件涵蓋502個(gè)頭文件.h、327個(gè)C源碼.cc、56個(gè)資源包.pak、14個(gè)動(dòng)態(tài)鏈接庫.dll及配套文檔與圖標(biāo)資源完整提供CEF 90.5.9版本運(yùn)行所需全部組件包體大小238.57MB。已有944人學(xué)習(xí)下載表明其在實(shí)際工程中具備較高參考價(jià)值。開發(fā)者可直接基于該包構(gòu)建支持H.264硬解、HTML5音視頻播放、Blink渲染引擎及Chromium 90.0.4430.85全部Web特性的定制化瀏覽器應(yīng)用無需自行編譯龐大Chromium源碼預(yù)覽中v8_context_snapshot.bin、gtest-all.cc等文件也印證其包含V8上下文快照、單元測試框架及典型API使用范例顯著降低集成門檻與調(diào)試成本。 拿到cef_binary_90.5.9gd330790chromium-90.0.4430.85_windows64.zip這個(gè)文件很多人的第一反應(yīng)是這一長串名字看著就頭疼解壓出來目錄還特別亂到底哪個(gè)文件能用其實(shí)這種命名方式本身就是一份說明書。cef_binary是 Chromium Embedded FrameworkCEF的預(yù)編譯二進(jìn)制包版本是 CEF 90.5.9對(duì)應(yīng)底層 Chromium 90.0.4430.85目標(biāo)平臺(tái)是 Windows 64 位。簡單說這是一臺(tái)“嵌入式瀏覽器發(fā)動(dòng)機(jī)”你可以把它塞進(jìn)自己的桌面應(yīng)用里用 Web 技術(shù)寫界面同時(shí)保留原生程序調(diào)用系統(tǒng)資源的能力。實(shí)際項(xiàng)目里很多即時(shí)通訊工具、工業(yè)軟件、游戲客戶端、甚至一些開發(fā)工具內(nèi)的代碼預(yù)覽窗口都是這么干出來的。這篇內(nèi)容就是圍繞這個(gè)壓縮包展開我會(huì)從文件名解析到實(shí)際集成把 CEF 這套東西講清楚也給正在研究它的朋友一些能直接上手的參考。1. 項(xiàng)目概述與版本信息解析1.1 從文件名能讀出什么很多人下載 CEF 二進(jìn)制包時(shí)只看得到“這是最新版”或“這是 64 位版”其實(shí)文件名里的每個(gè)字段都有具體含義字段含義cef_binary這是官方發(fā)布的預(yù)編譯二進(jìn)制包用于在你的應(yīng)用里內(nèi)嵌 Chromium90.5.9CEF 分支版本號(hào)即該二進(jìn)制包對(duì)應(yīng)的 CEF 接口版本gd330790這個(gè) CEF 版本所對(duì)應(yīng)的提交哈希前綴可以理解為一個(gè) git commit 標(biāo)記chromium-90.0.4430.85底層 Chromium 版本決定網(wǎng)頁渲染能力、V8 引擎特性、安全修復(fù)程度windows64目標(biāo)平臺(tái)Windows 64 位官方在打包時(shí)會(huì)按照cef_binary_{CEF版本}{提交哈希}chromium-{Chromium版本}_{平臺(tái)}的規(guī)則命名。這個(gè)規(guī)則很實(shí)用因?yàn)橹豢次募憔湍芰⒖膛袛喑鲞@包對(duì)應(yīng)的是哪條分支、哪天構(gòu)建的、能不能在目標(biāo)系統(tǒng)上用。如果你是和團(tuán)隊(duì)協(xié)作看到這個(gè)文件名就能大概估算出瀏覽器的能力范圍不用解壓之后再去查版本號(hào)。CEF 版本和 Chromium 版本不是嚴(yán)格同步遞增的而是 CEF 會(huì)基于某個(gè) Chromium 版本做二次封裝。Chromium 90 對(duì)應(yīng)的是 2021 年前后的特性比如 WebRTC 已經(jīng)很成熟WebGL、WebGPU 早期能力也在推進(jìn)。但相對(duì)于現(xiàn)在的 Chromium 120它在渲染性能、CSS 新特性、安全漏洞修復(fù)上明顯落后。所以如果只是做一個(gè)內(nèi)部工具或者有舊系統(tǒng)兼容需求選擇 Chromium 90 也不算錯(cuò)但如果你要面向公網(wǎng)用戶就需要評(píng)估好安全風(fēng)險(xiǎn)。1.2 CEF 在桌面端扮演什么角色現(xiàn)在做桌面應(yīng)用有很多條路可以選用 Electron 把 Chromium 和 Node.js 一起打包用 WebView2 依托 Windows 自帶的 Edge 內(nèi)核也可以直接用 CEF 自己集成。CEF 的優(yōu)勢(shì)在于“定制性極強(qiáng)”它把自己定位于一個(gè)嵌入式框架提供了大量 C/C API你可以控制瀏覽器進(jìn)程、渲染進(jìn)程、資源加載、JavaScript 交互、甚至自定義協(xié)議。打個(gè)比方Electron 像是一套精裝修的套房拎包入住很方便但你想改造承重墻就沒那么容易CEF 更像是一套毛坯房水路電路都給你預(yù)留好了位置但怎么裝修、用哪些材料全由你說了算。你在做游戲客戶端、硬件配套軟件、國產(chǎn)化應(yīng)用、或者需要深度集成瀏覽器能力的工具鏈時(shí)CEF 往往比 Electron 更合適因?yàn)樗亩M(jìn)制體積更可控進(jìn)程模型也更靈活。我見過不少公司拿 CEF 做在線文檔客戶端、IM 聊天窗口、監(jiān)控大屏、工業(yè)組態(tài)軟件核心訴求基本一致界面是 Web 的能力是原生的。CEF 能讓你在同一個(gè)窗口里同時(shí)渲染本地導(dǎo)航欄和遠(yuǎn)程頁面還能用 JavaScript 調(diào)用本地文件、數(shù)據(jù)庫接口。對(duì)照熱詞里的 “chromium瀏覽器插件更”CEF 也支持加載一定范圍內(nèi)的 Chrome 擴(kuò)展機(jī)制但比 Chrome 瀏覽器本身要多一些限制后面我會(huì)單獨(dú)講。1.3 Chromium 90 的“歲數(shù)”與現(xiàn)實(shí)意義Chromium 90.0.4430.85 不是最新版本這是事實(shí)。但它不代表不能用了。很多項(xiàng)目鎖定舊版本是因?yàn)閮杉乱皇且蕾嚨牡谌綆毂热缒承┿y行控件、硬件加密驅(qū)動(dòng)只驗(yàn)證過舊內(nèi)核二是構(gòu)建了一個(gè)內(nèi)部標(biāo)準(zhǔn)全員更新成本很高。CEF 官方也會(huì)維護(hù)多個(gè)分支分支號(hào)越大對(duì)應(yīng)的 Chromium 越新但接口變化也越大。你選了一個(gè)版本后可能要長期維持在這條分支上。Chromium 90 的一個(gè)特點(diǎn)是它仍然支持一些舊式的網(wǎng)頁特性同時(shí)新特性也覆蓋了大部分。如果你的應(yīng)用是面向特定企業(yè)網(wǎng)環(huán)境訪問的內(nèi)網(wǎng)系統(tǒng)可能還在用老式 TLS 1.0/1.1 協(xié)議這時(shí) Chromium 90 至少還保留有相應(yīng)的處理能力雖然默認(rèn)可能關(guān)閉但還可以調(diào)。到了 Chromium 101 之后很多舊協(xié)議和舊加密方式會(huì)被強(qiáng)制移除這就導(dǎo)致一些老舊服務(wù)端直接無法訪問。熱詞里提到的“chromium 101 不支持一般 ssl 協(xié)議版本”本質(zhì)就是 Chromium 不斷收緊安全策略。所以堅(jiān)守 Chromium 90 的一個(gè)現(xiàn)實(shí)理由有時(shí)候并不是開發(fā)者不想升級(jí)而是用戶的服務(wù)端沒升級(jí)。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 解壓后的目錄結(jié)構(gòu)與關(guān)鍵文件把壓縮包解壓之后你會(huì)看到下面這些內(nèi)容include/CEF 的 C/C 頭文件寫代碼時(shí)必須要引用Debug/和Release/預(yù)編譯好的庫包含 libcef.dll、libcef.lib、libcef_dll_wrapper 等Resources/語言包、擴(kuò)展 API 等運(yùn)行時(shí)會(huì)用到tests/示例工程和測試程序比如cefsimple、cefclientcmake/CMake 配置文件方便你快速集成LICENSE.txt、README.txt這類文檔所有文件里最核心的是Release/libcef.dll。它是你的應(yīng)用啟動(dòng)時(shí)必須加載的主 DLL體積非常大幾百 MB 是常態(tài)。其次要考慮的就是Resources/目錄里的icudtl.datICU 國際化數(shù)據(jù)沒有它頁面文本會(huì)亂碼加載也會(huì)崩潰。v8_context_snapshot.bin和snapshot_blob.bin是 V8 引擎的啟動(dòng)快照移除后啟動(dòng)性能會(huì)明顯下降。所以解壓后別因?yàn)榭粗叭菦]用的庫”就手動(dòng)清理最好保留下整個(gè)Resources和Release目錄。如果你用的是Debug配置對(duì)應(yīng)要引用Debug/libcef.dll注意 Debug 和 Release 版本最好不要混用。我見過有人圖省事Release 工程里用了 Debug 的 DLL結(jié)果程序跑起來各種崩潰看起來像是代碼問題實(shí)際是庫版本不匹配。官方把這兩個(gè)目錄分開是有原因的Debug 版本里包含更多調(diào)試信息性能也更低混用會(huì)造成運(yùn)行時(shí)符號(hào)錯(cuò)亂。2.2 為什么很多團(tuán)隊(duì)堅(jiān)持選 Windows 64 位windows64這個(gè)字段決定了整個(gè)運(yùn)行環(huán)境的架構(gòu)。現(xiàn)在 Windows 10/11 絕大多數(shù)都是 64 位系統(tǒng)選 64 位版本有更充裕的地址空間和更好的高負(fù)載表現(xiàn)。CEF 內(nèi)部有多個(gè)進(jìn)程瀏覽器進(jìn)程、渲染進(jìn)程、GPU 進(jìn)程、網(wǎng)絡(luò)進(jìn)程等64 位下每個(gè)進(jìn)程能用的內(nèi)存上限遠(yuǎn)高于 32 位。如果你的應(yīng)用需要長時(shí)間開頁面、加載大圖表或者復(fù)雜 WebGL 內(nèi)容32 位很容易觸發(fā)內(nèi)存不足。但選擇 64 位也有代價(jià)你的整個(gè)程序必須編譯成 x64并且所有原生依賴都要匹配 64 位。有些老項(xiàng)目還掛著 32 位第三方的 DLL這時(shí)候就得評(píng)估是整體遷移還是繼續(xù)選 32 位。另外64 位版的 CEF 對(duì)編譯器和運(yùn)行庫版本更敏感通常要求你的工程使用/MD動(dòng)態(tài)鏈接而不是/MT靜態(tài)鏈接否則會(huì)出現(xiàn)運(yùn)行時(shí)庫沖突。具體在你的 Visual Studio 工程里需要把“運(yùn)行庫”設(shè)置為“多線程 DLL (/MD)”否則 CEF 初始化階段可能直接崩潰。如果只是想在本機(jī)做測試直接把Release目錄下的 DLL 復(fù)制到 exe 同目錄即可前提是系統(tǒng)裝了對(duì)應(yīng)的 Visual C 運(yùn)行庫。多數(shù)情況下2015-2022 的 VC Redistributable 都需要覆蓋安裝一遍不然 libcef.dll 加載階段會(huì)報(bào)缺少依賴。2.3 CEF 的依賴與運(yùn)行時(shí)環(huán)境CEF 在 Windows 上主要有兩套依賴一是 VC 運(yùn)行庫二是顯卡驅(qū)動(dòng)相關(guān)的 DirectX 環(huán)境。前者的缺失通常表現(xiàn)為“找不到 dll 入口點(diǎn)”或“0xc000007b”錯(cuò)誤后者的表現(xiàn)則更像黑屏、GPU 進(jìn)程崩潰、頁面渲染花屏。你還需要注意 CEF 的沙箱機(jī)制。默認(rèn)情況下CEF 會(huì)啟用瀏覽器進(jìn)程沙箱渲染進(jìn)程和網(wǎng)絡(luò)進(jìn)程運(yùn)行在受限權(quán)限下。這在公網(wǎng)環(huán)境中非常有必要但也會(huì)引發(fā)一些奇怪問題比如某些企業(yè)環(huán)境里用戶賬戶沒有足夠權(quán)限創(chuàng)建一個(gè)臨時(shí)目錄導(dǎo)致渲染進(jìn)程無法啟動(dòng)。解決方式有兩種一是確保安裝目錄可寫二是關(guān)閉沙箱只在可信環(huán)境下才建議。有人一遇到問題就no_sandbox true我建議你先排查權(quán)限和路徑問題最后再考慮關(guān)沙箱。沙箱不只是一個(gè)安全功能還負(fù)責(zé)進(jìn)程間通信的隔離隨意關(guān)閉會(huì)影響穩(wěn)定性。CEF 還強(qiáng)行依賴icudtl.dat它必須和libcef.dll放在同一個(gè)目錄下否則初始化直接失敗。我經(jīng)??吹接腥税袳xe單獨(dú)拷出去而icudtl.dat還在原目錄結(jié)果程序啟動(dòng)進(jìn)不了界面控制臺(tái)里報(bào)“Failed to load ICU data”。這個(gè)文件看起來不起眼卻是硬依賴。打包時(shí)最好把icudtl.dat、v8_context_snapshot.bin、snapshot_blob.bin、.pak資源文件全部放到 exe 同一級(jí)目錄不要自創(chuàng)子目錄。3. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 將 CEF 接入自己的窗口工程在 Windows 下集成 CEF主流方式是用 CMake Visual Studio 建一個(gè) C 工程。以最簡示例來說明假設(shè)你的工程已經(jīng)鏈接了libcef.lib和libcef_dll_wrapper的庫核心步驟如下。第 1 步初始化 CEF#include include/cef_app.h #include include/cef_browser.h #include include/cef_client.h // 進(jìn)程類型區(qū)分 int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR, int) { CefMainArgs main_args(hInstance); // 如果是子進(jìn)程渲染、GPU、網(wǎng)絡(luò)執(zhí)行相應(yīng)的消息循環(huán)處理 CefRefPtrCefApp app(new MyApp); int exit_code CefExecuteProcess(main_args, app.get(), nullptr); if (exit_code 0) { return exit_code; } // 主進(jìn)程設(shè)置 CefSettings settings; settings.log_file cef.log; settings.log_severity LOGSEVERITY_WARNING; settings.no_sandbox true; // 僅調(diào)試用 CefInitialize(main_args, settings, app.get(), nullptr); // 創(chuàng)建瀏覽器窗口 CefWindowInfo info; info.SetAsChild(hWnd, CefRect(0, 0, width, height)); CefBrowserSettings browser_settings; CefRefPtrCefClient client(new MyClient); CefBrowserHost::CreateBrowser(info, client.get(), Lhttps://example.com, browser_settings, nullptr, nullptr); // 運(yùn)行消息循環(huán) CefRunMessageLoop(); CefShutdown(); return 0; }這只是一個(gè)非常骨架的寫法。MyApp里必須實(shí)現(xiàn)GetBrowserProcessHandler()和OnBeforeCommandLineProcessing用來調(diào)整命令行參數(shù)MyClient里要處理GetLifeSpanHandler()、GetLoadHandler()否則窗口關(guān)閉、頁面加載狀態(tài)沒有回調(diào)。如果你只跑一個(gè)簡單測試用官方cefsimple示例改一改最快。第 2 步工程屬性要注意語言標(biāo)準(zhǔn)選 C17字符集可以根據(jù)項(xiàng)目選擇 UnicodeCEF 內(nèi)部以 UTF-8/UTF-16 處理運(yùn)行庫設(shè)置為/MD附加庫目錄要分別指定到 CEF 的Debug或Release目錄并且運(yùn)行時(shí)要把對(duì)應(yīng)的 DLL 放到 exe 旁邊。從實(shí)際集成經(jīng)驗(yàn)看最常見的卡點(diǎn)是加載路徑和消息循環(huán)。CEF 支持CefRunMessageLoop()默認(rèn)的消息循環(huán)也支持multi_threaded_message_loop true和外部消息循環(huán)并存。如果你有一個(gè) MFC/Qt 的界面框架直接調(diào)用CefRunMessageLoop會(huì)阻塞界面這時(shí)你需要把 CEF 集成到框架自己的消息循環(huán)里處理CefDoMessageLoopWork()這個(gè)函數(shù)或者用多線程模式。我建議先跑通單線程模式再逐步調(diào)整消息循環(huán)方案。3.2 常用配置項(xiàng)詳解CEF 的CefSettings里有很多常見配置很多人配置完發(fā)現(xiàn)不起作用其實(shí)是因?yàn)榉佩e(cuò)了對(duì)象。下面這張表是我整理的高頻參數(shù)和實(shí)際用途配置項(xiàng)作用注意事項(xiàng)windowless_rendering_enabled開啟離屏渲染OCR可以用紋理給瀏覽器內(nèi)容做疊加開啟后必須自己處理鼠標(biāo)鍵盤事件Qt 項(xiàng)目常用multi_threaded_message_loop多線程消息循環(huán)CEF 自己管理子進(jìn)程和宿主程序的消息循環(huán)解耦no_sandbox關(guān)閉沙箱僅調(diào)試或可信環(huán)境使用不建議默認(rèn)置 truecache_path指定 HTTP 緩存、會(huì)話 cookie 存儲(chǔ)目錄必須設(shè)置否則 cookie 容易丟失或進(jìn)程異常log_fileCEF 日志文件路徑排查問題時(shí)建議設(shè)為提示級(jí)別user_agent自定義 UA很多服務(wù)端校驗(yàn) UA 時(shí)有用resources_dir_path指定.pak資源目錄默認(rèn)取 exe 所在目錄自定義時(shí)要小心locales_dir_path指定語言包目錄缺翻譯時(shí)可能顯示英文或亂碼persist_session_cookies會(huì)話 Cookie 持久化配合 cache_path 使用其中cache_path值得單獨(dú)說一次。有些項(xiàng)目只設(shè)了user_data_dir沒有設(shè)cache_path結(jié)果頁面內(nèi)每次登錄都“記住我”失敗因?yàn)?cookie 沒落盤。正確做法是在初始化時(shí)把緩存目錄指向一個(gè)可寫的用戶目錄比如%APPDATA%\你的產(chǎn)品名\CEF別把緩存寫到程序安裝目錄下Windows 的系統(tǒng)目錄權(quán)限限制會(huì)很麻煩。另外CEF 90 有個(gè)習(xí)慣如果你想關(guān)閉加載不安全的混合內(nèi)容或者忽略某些證書錯(cuò)誤需要在OnBeforeCommandLineProcessing里加開關(guān)。比如允許加載自簽名證書時(shí)可以加上--ignore-certificate-errors但這個(gè)開關(guān)全局影響安全生產(chǎn)環(huán)境不建議長期開啟。3.3 打包發(fā)布與資源分發(fā)當(dāng)你的程序開發(fā)完成后打包是個(gè)值得認(rèn)真對(duì)待的環(huán)節(jié)。把整個(gè)Release目錄里的文件全拷進(jìn)去可能體積太大但只留幾個(gè)關(guān)鍵文件又會(huì)踩坑。我常用的做法是保留 exe 同級(jí)的libcef.dll、chrome_elf.dll、icudtl.dat、v8_context_snapshot.bin、snapshot_blob.bin。保留Resources.pak、chrome_100_percent.pak、chrome_200_percent.pak以及resources語言包目錄如果不需要多語言只留en-US.pak和zh-CN.pak一般夠用。保留locales目錄移除多余語言包能減小體積。不要用 UPX 壓縮libcef.dllCEF 運(yùn)行時(shí)會(huì)加載大量符號(hào)壓縮后經(jīng)常導(dǎo)致崩潰或報(bào)錯(cuò)。如果你的應(yīng)用有自動(dòng)更新功能更新時(shí)最好全量替換 DLL 和資源文件不要只覆蓋 exe否則 DLL 版本不匹配會(huì)導(dǎo)致非常奇怪的錯(cuò)誤。還有一點(diǎn)殺毒軟件可能誤報(bào)libcef.dll因?yàn)樗w積大、內(nèi)部結(jié)構(gòu)特殊。這不是 CEF 的問題但實(shí)際部署時(shí)可以考慮對(duì)企業(yè)內(nèi)網(wǎng)殺毒白名單做申請(qǐng)或者在安裝包腳本里加一個(gè)說明。4. 常見問題與排查技巧實(shí)錄4.1 經(jīng)典錯(cuò)誤CefInitialize 返回 false遇到 CefInitialize 返回 false我一般先按這個(gè)順序排查CefExecuteProcess返回值是否異常如果是子進(jìn)程崩潰它可能返回-1而不是繼續(xù)主進(jìn)程邏輯。路徑配置是否正確libcef.dll、icudtl.dat是否和 exe 同一目錄。是否缺少運(yùn)行庫VC Redistributable 是不是沒裝全。是否重復(fù)初始化同一個(gè)進(jìn)程里兩次調(diào)用CefInitialize會(huì)返回 false。是否存在環(huán)境變量污染比如CEF_DISABLE_SANDBOX被設(shè)置了。如果日志打開后看到GetModuleFileName失敗或者icu_util::Initialize報(bào)錯(cuò)基本就是路徑問題。把log_file設(shè)置為LOGSEVERITY_INFO重啟程序再看日志能定位到很多隱藏錯(cuò)誤。4.2 白屏、頁面加載失敗白屏是 CEF 集成中最高頻的問題。我總結(jié)主要有三類原因第一類是資源路徑或緩存目錄異常頁面進(jìn)程崩潰后渲染不出來。第二類是網(wǎng)絡(luò)進(jìn)程無法訪問目標(biāo)地址比如系統(tǒng)代理配置、防火墻攔了子進(jìn)程、證書錯(cuò)誤。第三類是渲染進(jìn)程 GPU 崩潰導(dǎo)致頁面白屏但 CPU 占用率很低。對(duì)于第三類可以先加一個(gè)--disable-gpu開關(guān)看能不能恢復(fù)。如果能恢復(fù)說明顯卡驅(qū)動(dòng)不兼容后續(xù)再針對(duì)性處理 GPU 黑名單。熱詞里提到“chromium 101 不支持一般 ssl 協(xié)議版本”CEF 90 其實(shí)也已經(jīng)開始收緊 TLS 配置。如果你在連接某個(gè)公司內(nèi)網(wǎng)服務(wù)時(shí)報(bào)ERR_SSL_VERSION_OR_CIPHER_MISMATCH一般有兩個(gè)解決方向升級(jí)服務(wù)端 TLS 配置或者在 CEF 命令行里臨時(shí)調(diào)整密碼套件。后者不建議在生產(chǎn)環(huán)境使用但排查階段可以驗(yàn)證是不是協(xié)議兼容問題。4.3 插件與擴(kuò)展機(jī)制“chromium瀏覽器插件更”這個(gè)熱搜詞說明很多人關(guān)注 CEF 能不能加載 Chrome 擴(kuò)展。CEF 支持加載擴(kuò)展但有幾個(gè)前提擴(kuò)展必須是.crx或者未打包的目錄加載方式需要通過CefRequestContext設(shè)置擴(kuò)展注冊(cè)回調(diào)。更麻煩的是CEF 90 對(duì) Manifest V3 的支持并不完整很多新版擴(kuò)展裝不上。一個(gè)更可行的替代方案是不要依賴擴(kuò)展機(jī)制而是把你要的功能直接寫進(jìn) Web 頁面里用 JavaScript 調(diào)用 CEF 提供的CefQueryAPI 與本地代碼交互。擴(kuò)展適合瀏覽器環(huán)境CEF 更適合原生和 Web 融合所以沒必要硬塞擴(kuò)展邏輯。如果你確實(shí)要加載建議先在cefclient示例里測試確認(rèn)擴(kuò)展的權(quán)限聲明和 CEF 版本兼容再集成。4.4 與生態(tài)的聯(lián)動(dòng)JCEF、Playwright看到熱詞里“missing jcef runtime codebuddy relies on jcef”其實(shí)是典型的 JCEF 運(yùn)行時(shí)缺失問題。JCEF 是 CEF 的 Java 綁定很多 Java 桌面應(yīng)用會(huì)在代碼里動(dòng)態(tài)加載 JCEF 的二進(jìn)制文件。當(dāng)你看到Missing JCEF Runtime時(shí)通常不是你的代碼寫錯(cuò)了而是環(huán)境里沒有放對(duì) JCEF 對(duì)應(yīng)的jcefjar 和本地動(dòng)態(tài)庫。如果你在 Java 項(xiàng)目里使用 JCEF需要下載對(duì)應(yīng)平臺(tái)和 CEF 版本一致的 JCEF 構(gòu)建并確保java.library.path指向包含libcef.dll和jcef.dll的目錄。JCEF 的版本號(hào)與 CEF 版本嚴(yán)格對(duì)應(yīng)混用大概率起不來。至于 Playwright它的playwright install chromium安裝的是自動(dòng)化測試用的瀏覽器內(nèi)核和 CEF 不是一回事。不過有些同學(xué)會(huì)把它們搞混。Playwright 是一個(gè)測試框架它下載 Chromium 后通過調(diào)試協(xié)議驅(qū)動(dòng)頁面CEF 是嵌入式框架要嵌入桌面應(yīng)用。如果你只是希望本地下載 Playwright 的瀏覽器能快一點(diǎn)可以用 npm 鏡像源來加速比如修改PLAYWRIGHT_DOWNLOAD_HOST指向鏡像站這是完全合法且常見的做法。但要明確下載下來的 Chromium 不能直接當(dāng)成 CEF 包用兩者的目錄結(jié)構(gòu)、模塊劃分完全不同。4.5 性能與內(nèi)存優(yōu)化建議如果你把 CEF 60 或 90 用在一個(gè)長期運(yùn)行的客戶端里內(nèi)存堆積是常見問題。我建議關(guān)閉不需要的組件用--disable-featuresAutofillServerCommunication,Translate等參數(shù)減少不必要的功能后臺(tái)運(yùn)行。控制渲染進(jìn)程數(shù)量同一個(gè)頁面如果業(yè)務(wù)不復(fù)雜盡量用同一進(jìn)程處理不要過度創(chuàng)建瀏覽器對(duì)象。設(shè)置合理緩存目錄并定期清理cache_path如果無限增長磁盤占用和 IO 都會(huì)變差。監(jiān)聽CefV8Context釋放如果頻繁調(diào)用 JS 注入注意及時(shí)釋放引用防止泄漏。CEF 的進(jìn)程模型也值得花時(shí)間研究。默認(rèn)情況下一個(gè)彈窗可能會(huì)創(chuàng)建新的渲染進(jìn)程如果你的應(yīng)用頻繁彈窗進(jìn)程數(shù)會(huì)迅速增長。這時(shí)候可以通過CefBrowserSettings和自定義CefRequestContext來復(fù)用一個(gè)上下文減少進(jìn)程數(shù)量。5. 經(jīng)驗(yàn)總結(jié)與擴(kuò)展建議5.1 從 CEF 90 遷移到更高版本需要考慮什么如果你現(xiàn)在基于 CEF 90 開發(fā)想在未來升級(jí)到更新的 CEF 分支需要提前列一個(gè)清單。CEF 的 API 在版本升級(jí)中并不完全向后兼容尤其是涉及CefSettings字段的增減、CefBrowserHost::CreateBrowser的參數(shù)變化、以及命令行開關(guān)的重命名。你至少要關(guān)注三類問題編譯層面的調(diào)整新版本頭文件里某些方法簽名變了原來傳參的const char*可能變成了CefString的引用直接替換 DLL 不重新編譯后果就是鏈接失敗或運(yùn)行時(shí)錯(cuò)誤。行為層面的變化高版本 Chromium 對(duì)自動(dòng)播放、彈窗攔截、下載安全、跨域限制更嚴(yán)格前端代碼可能需要同步修改。視覺和字體渲染的變化Chromium 版本升級(jí)后小字號(hào)字體的渲染效果可能不一樣需要產(chǎn)品側(cè)重新過一遍 UI 回歸。如果你不想頻繁升級(jí)就鎖定一條長期維護(hù)的 CEF 分支同時(shí)關(guān)注該分支的安全公告只在該分支內(nèi)打補(bǔ)丁。CEF 官方支持一定周期內(nèi)的社區(qū)維護(hù)但最終還是建議跟著大版本走。5.2 替代方案與選型建議如果你的需求是“在 Windows 上內(nèi)嵌網(wǎng)頁”不妨先對(duì)比一下三種方案方案體積定制性系統(tǒng)要求適合場景CEF大100MB高需自帶運(yùn)行庫跨平臺(tái)原生客戶端、深度定制WebView2小系統(tǒng)提供中Windows 11/10 或者需要運(yùn)行時(shí)安裝純 Windows 應(yīng)用想要自動(dòng)更新Electron大安裝包一般 200MB中自帶 Chromium 和 Node.js快速開發(fā)功能豐富CEF 的定位是“嵌入”它不像 Electron 那樣自帶 Node.js你需要自己通過 JS 綁定和本地代碼通信。項(xiàng)目周期緊急、團(tuán)隊(duì)成員更熟悉 Web 技術(shù)Electron 可能更快但如果對(duì)包體積、進(jìn)程穩(wěn)定性、沙箱安全有硬性要求或者需要把瀏覽器模塊嵌入到既有原生工程里CEF 依然是繞不開的選擇。5.3 個(gè)人實(shí)操體會(huì)最后分享一點(diǎn)我自己的使用感受。早期我把 CEF 接進(jìn)一個(gè) MFC 項(xiàng)目時(shí)最讓我頭疼的不是初始化而是消息循環(huán)和進(jìn)程退出時(shí)機(jī)。CEF 的瀏覽器進(jìn)程如果和宿主進(jìn)程生命周期沒理順關(guān)閉主窗口后后臺(tái)還會(huì)殘留幾個(gè)進(jìn)程任務(wù)管理器里看起來像內(nèi)存泄漏。后來我習(xí)慣了在最外層維護(hù)一個(gè)“CEF 全局狀態(tài)”在WM_CLOSE里先CefShutdown再確保所有CefRefPtr引用都釋放完問題就少了。另外我建議剛接觸的人先直接用官方cefsimple示例跑起來再一點(diǎn)點(diǎn)往里加你自己的代碼別自己從零搭骨架。CEF 的初始化順序、資源路徑、回調(diào)線程都牽扯很多細(xì)節(jié)官方示例把這些坑提前踩了一遍能給你省下大量排查時(shí)間。然后你可以在一個(gè)獨(dú)立的測試工程里調(diào)CefSettings的參數(shù)觀察每一個(gè)開關(guān)對(duì)行為的影響這樣腦子里會(huì)形成“參數(shù)—現(xiàn)象”的對(duì)應(yīng)關(guān)系后面遇到奇怪問題就從容很多。這個(gè)cef_binary_90.5.9gd330790chromium-90.0.4430.85_windows64.zip雖然是個(gè)舊版本但作為學(xué)習(xí) CEF 的起點(diǎn)很合適。結(jié)構(gòu)、配置、常見坑都和其他分支差別不大你學(xué)會(huì)這一套之后再切到新版分支主要精力只需花在 API 差異上。能折騰完這個(gè)包你對(duì)桌面端嵌入瀏覽器的理解會(huì)扎實(shí)很多。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷色五月开心五月| 婷婷视频在线碰| 熟女乱论网| 久久久久久久久久久-久五月天婷婷| 五月激情影院| 99热这里只有精彩| 色五月视频无码播放| 色色丁香五月| 亚洲乱啪| a毛片二逼wwwwwwwwww| 99久久综合网| 五月丁香免费看| 狠狠操狠狠操AV| 亚洲性爱干干| 一区二区中文字幕| 亚洲五月婷婷在线| 亚洲综合激| 99热精品网| 香蕉AV福利精品导航| 天天做天天爽| 丁香 久久| 狠狠操.COM| 丁香五月1页| 午夜激情久久| 国产免费av在线| 国产精品第一国产精品| 草了bav视频在线观看| 免费啪啪亚州视频| 久久婷色| 99er6免费视频热播| 我想看国产大学生口爆吞精的视频| 公的粗大挺进了我的密道| 小视频久久久aaa| 色五月人妻| 五月丁香网中文字幕| 色婷婷www| 六月丁香婷婷色狠狠久久| 久久激情四射| 99日精品视频| 五月天婷婷综合久久| 99热国产精品| 久久婷婷热| 九九99精品视频| 婷五月天| 六月激情婷婷| 婷婷激情五月| 丁香狠狠色婷婷久久无码视频| AA丁香综合激情| 激情五月天在线视频| 国产精品爽爽久久久久久| 天天色天天色天天色天天色天天色| 黄色三级毛片中字| 九九精品大香蕉| 亚洲日本韩国| 狠狠色丁香久久综合婷婷亚洲成人福利| 青草青草视频2免费观看| 日本五月婷婷| 亚洲日韩乱码一区二区三区四区| 激情桃色网| 日韩精品色| 天天爽天天日| 99re8这里只有精品99re8热视频| 这里只有精品视频视频在线观看| 综合xx网| 噜噜色婷婷| xx人人xx| 99精品网| 婷婷综合另类| 免费观看全黄做爰的视频| 大香蕉九九| 五月丁香婷婷综合| 丁香色色五月| 欧美A级网站| 99视频久久免费视频| 婷婷基地成人五月天| 五月丁香六月婷婷不卡免费无码| 天天色天天日| 99性爱| 偷拍丁香九月激情| 九九九九综合| 丁香 婷婷 亚洲 熟女| 色色色色色色色色网站| 99热在线观看| 五月天婷婷情色| 热九九精品| 五月激情综合婷婷| www..999热久| 91精品刘玥| 日本操片| 激情婷婷综合五月少妇| 国产精品大香蕉| 久久九久久| 91婷婷色五月| www.成人婷婷综合| 国产又黄又爽又色的免费| 影院久久久| 另类激情五月| 五月天天视频| 日韩av手机在线观看| 99热插| 激情精品久久| 99九色视频在线观看| 熟妇内谢69XXXXXA片| 国产操逼网站| 久久这里有精品在线观看| 久久综合首页| WWW、日本色丁香、co m| 婷婷丁香激情综合色情| 丁香五月成人网| 久久丁香五月| 亚洲第一黄网| 色综合大香蕉| 亚洲无码www| 婷婷舔| 久久99激情| 人妻丰满精品一区二区A片| 91丨九色熟女丨首页| 色五月天中文字幕| 狠狠色噜噜狠狠狠888| 九九超日本| 激情黄色五月天| 丁香花色色网| 丁香婷婷九月| 性视频久久| 4399精品一区二区| 大香蕉院线| 亚洲综合五月| 六月丁香花婷婷| 婷婷久久色| 日日操夜夜擼| 这里只有精彩亚洲视频推荐| 色五月综合激情网| 丁香五月,激情五月,深爱五月| 色综合99| 婷婷激情五月天7| 丁香花五月天激情| 99精品热| 久久香蕉网| 91精品久久久久久77777| 中文av网站| 国产精品男人AV不卡| 五月天激情网图片 - 百度| 色婷婷操逼| 五月婷婷丁香六月 | 天天看片日日夜夜| 少妇高潮一区二区三区99欧美| 国产VA亚洲VA96| 无码AV久久久久久久久| 日本熟女一区二区| 99久久終合| 激情五月天www| 中文字幕无码AV| 色色网站免费在线视频| 国产成人精品一区二三区熟女在线 | 视频1区2区| 日日日日操| 极品五月天| 久久精品亚洲热| 99久久国产综合精品五月天喷水\| 九九热在线视频,| 精品爱欲五| 99精品在线下载| www五月婷婷88导航| 六月色色婷婷| 六月丁香停| 婷婷五月丁香六月| 热99玖玖99玖玖99九九| 色婷婷中文字母五月丁香| 久久人人妻| 一本色道久久88加勒比—| 人人摸人人| 久久综合五月| 日韩中文欧美| www.俺去也com| 亚洲成人在线观看网址| 激情综合网五月婷婷| 啪啪啪大香蕉| 久久九九经典| 思思热在线观看| 激情图片婷婷| 亚洲一级AV在线免费播放| 人人综合久| 婷婷精品| 激情国产五月| 99re这里| 六月婷婷色综合| Www99热| 五月婷婷色| 日本五月丁香| 色伊人婷婷| 色色婷婷五月天| 丁香五月天激情综合网| 丁香婷婷九月| 20253AV| 五月激情综合网| 97人人操人人爽| 99色| 欧美日韩999| 亚洲99视频| 操碰久| 综合五月婷婷| 狠狠色丁香婷婷久久综合| 看黄的网站18禁| 丁香五月瑟瑟| www.色婷婷| 五月婷婷影院| 秋霞三及片| 狠狠做五月| av在线免费播放观看| 色婷婷19| 色婷婷五月天偷拍| 欧洲亚洲激情五月天在线| 午夜丁香综合婷婷| jiujiuxiangjiaowang| 97干在线视频| 1024操逼视频| 激情综合五月婷婷六月丁香| 色五月婷婷丁香婷婷| 亚洲无码11| 五月天综合在线网| 天天干天天做| www.夜夜操| 综合噜噜| 色色日本| 青草少妇激情| 国产婷婷五月天| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 天天做天天爱天天爽在| 99色视| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 色情五月婷婷| 激情五月开心五月在线视频| www久久久久| 亚洲国产精品VA在线看黑人| 777精品久无码人妻蜜桃| 色婷婷超碰| 秋霞少妇毛片| 极品五月天| 风流少妇A片一区二区蜜桃| 色婷| 五月天色不卡| 被男人添B超爽视频| 久操综合| 色色射| 99在线观看精品| 丁香五月婷婷在线| 成人电影在线免费试看| 丁香六月啪啪啪| 久久性爱视频网站| 五月丁香色婷婷久久| 开心激情五月天网| 国产.亚洲.欧洲视频在线| 久久这里都是精品| 99视频网址| 亚洲第一综合| 色综合色五月| 婷婷91| 九九热在线视频观看| 另类精品视频在线观看| 九九99精品视频在线观看| 玖玖爱综合网| 国产免费一区二区在线A片视频| 免费视频99| 日日撸夜夜操| 超碰人妻公开在线| 91精品啪| 天天激情5月天亚洲| 精品久久9| 亚洲在线操| 99操| 免费播放99性爱视频| 精品久久婷婷五月天| 色婷五月| 日本色色网站| 中文字幕 中文字幕明步| 99色免费观看全部| 日日影院 | 91人妻人人操| 91精品91久久久中77777久久玖玖九九 | www.婷婷久久五月天| 国产精品成av人在线视午夜片| 激情婷婷。| 久久香蕉婷婷| 99精品色色| 婷婷五月天男人影院色色网| 九九re精品视频在线观看| 91丨九色丨国产打屁股| 五月天丁香色色| 亚洲熟妇AV综合网五月丁香伊人 | 三级片AAA久久久AAA久久久AAA| 国产欧美精品AAAAAA片| 色月丁| aa久久| 六月综和久久| 久99久热| 久久综合九色综合97婷婷| 9色小视频在线观看| 91久久综合亚洲噜噜成人在线| 99在线精品观看99| 欧美六月婷婷| 五月综合视频在线| 黄色一级影片| 男女啪啪视频久 9| 激情婷婷色小说| 婷婷色五月综合| 99超级碰碰| 九九综合| 色9999日韩国产| 五月丁香综合啪啪対白| 日韩啪啪网| 综合天堂AV久久久久久久| 九九99九九99九九99视频网| 国产精品久久久爽爽爽麻豆色哟哟| 99热伊人综合| 热99视频| 婷婷五月综合网| 99视频啪啪| 九九Av| 79精品视频| 久久久久久人妻| 九九艹女| 色婷婷色情| 五月激情婷婷综合| 日本123区日韩欧美不卡在线看| a色色色色色| 精品久久久人妻| 亚洲综合激情五月久久| 97婷婷色| 99热免费精品| 9999热在线观看| 99er6| 婷婷丁香五另类网站| 97人人妻人人艹| 日韩色色色色色| 色婷婷久久综合中文久久一本| 可以免费观看的av| 99热精品在线观看| 亚洲综合在线伊人婷| 日本色爽| 综合久久伊人| 五月丁香777| 果冻传媒A片一二三区| 激情五月天噢美| 日本久久综合| 99re66热这里只有精品| 丁香五月成人社区| 99色这里| 99久久婷婷国产综合精品草原| 久久最新色| 人人操av| 98色花堂98t.R| 久久精品五月| 色噜噜五月天| 国产性爱一级| 色欲天天综合| 操操操操操操婷婷五月天| 超碰日日操| 狠狠干在线| 综合激情站| 亚洲人成网站999综合| 五月丁香亚洲综合网| 中文字幕在线免费看线人| 五月婷婷色播视频| 欧美叉叉叉BBB网站| 66久久视频在线| www.狠狠| 色婷婷先锋| 国产婷婷色综合AV蜜臀AV| 色色色色色色综合网| 激情纯色婷婷五月天在线不卡视频| 久久五月天婷婷| 99rewww| 五月丁香久久| 色色色.COM| 婷婷 丁香 久久| 婷婷综合在线| 丁香九月激情| 中文字幕 中文字幕明步| 六月婷婷私欲| 色情五月天导航| www夜夜| 色婷婷导航| 免费黄色视频网址| 国产黄色在线观看| 日日夜夜干| 精品久久9| www.日日夜夜.com| 热的无码综合视频| 翔田千里 50岁 无码| 深爱激情五月网| 色婷婷欧美在线| 日韩av手机在线观看| 色色色.COM| 久久婷婷丁香| 国产精品涩涩涩视频网站| www.五月激情红色| 影音先锋一区| 色婷婷伊人激情在线观看| 99热久| 丁香五月婷婷狠狠色| 少妇高潮呻吟A片免费看软件| 好激情在线综合网| 精品久色| aV欲望人妻中文字幕| 九九久久精品| 香蕉久久国产AV一区二区| 婷婷五月天大香蕉| 啪啪 综合网| 99啪啪| 国产精品扒开腿做爽爽爽A片唱戏| 五月丁香激情婷婷综合| www超碰| 婷婷丁香激情五月天色色色| 思思re99视频在线观看| 九九热精品视频| 天天爽夜夜爽夜夜爽精品| 久操欧美在线观看97| 人妻久热| WWW五月| 色五月开心婷婷| 免费观看日韩成人av| 九九久久精品| 丁香六月综合| 色色激情五月| 五月婷婷在线免费| 激情五月色综合国产精品| 九九色大香蕉| 日本五月天一页| 五月香婷婷| 久久九九99.www| 天天操天天插| 99色色网| 玖玖爱综合网| 五月婷婷开心五月| 天天操综合网站| 日本熟女视频一区二区| 五月丁香婷婷综合久久| 亚洲xx网| 日韩成人电影在线播放| 色五月第四色| 亚洲一区二区无码蜜乳av| 97在线干| 色情五月综合婷婷| 五月开心婷婷极品激情| 欧美日韩999| 777久久精品| 成人AV综合在线| 国产美女无遮挡裸体毛片A片| 久久婷狠狠色| 五月婷婷深深爱| 99热这里只有是亚洲国产| 中文字幕日本最新乱码视频| jiZZdr| 久热 91| 婷婷五月六月| 在线只有精品| www.狠狠操| 激情丁香六月| 六月婷婷在线| 综合成人小说婷婷| 九九色播五月丁香| 91综合色| 久久这里都是精品| 亚洲中文字幕网| 五月天婷婷在线播放| 亚洲色碰| 五月婷婷六月丁香在线| 色婷视频| 色欧美一级| 激情小说色五月| 久久久99精品免费观看| 五月久久丁香| www.综合久久| 成人网站在线观看视频| 五月婷婷深深的爱| 26uuu亚洲欧美另类| 婷婷六月插屄激情| 色色五月婷婷丁香| AV成人在线播放| 97碰碰视频在线观看| 五月丁香啪啪综合| 可以看的av| AV大片在线播放| 偷拍九九热| 变天就操逼婷婷五月| 婷婷玖玖丁香| 婷婷久久综合久| 婷婷在线视频| 婷婷五月天丁香久久| 99啊精典免费视频| 婷婷免费精品视频| 开心五月综合| 色婷婷伊人| 99免费在线视频| 无码免费人妻A片AAA毛片西瓜 | 亚洲AV久久久久久久久久久久久久久久 | 99热黄| 九九热精品99| 婷婷色播色五月五色五月天色妇| 伊人久久五月天| 激情网五月| 五月丁香婷婷色色| 丁香婷婷狠狠97| 久久青青日本视频| 色五月丁香五月激情五月激情| 婷婷深爱五月亚洲综合| 夜夜躁婷婷AV| 一區四區歐美日韓| 五月天狠狠色| 成人无码髙潮喷水A片| 婷婷激情综合色五月久久91| 色五月天.con| 99久久激情视频| 99ri在线观看视频| 最新国产AV| 99免费综合网| 99热这里只有精品9| 丁香九月婷婷| 欧美啪啪五月天| 天天做天天爱高潮片| 亚洲丁香网| 丁香五月天激情| 伊人九热| 精品无码色| 色播五月综合网| 免费看欧美成人A片无码| 久久精品系列| jiqingliuyuetian| 99精品视频在线观看| 99超级碰碰| 亚洲十月婷婷综合| 亚洲1区| 婷婷丁香综合| 丁香五月色欲| 五月丁香婷婷成人网| 综合久久99| 九九精品婷| 天天综合天天做天天综合| 99热精品观看| 精品九九网| 婷婷五月天99| 成人国产欧美大片一区| 久久久思思热| 天天色综网| 啪精品| 91久久婷婷人人澡草| 婷婷伊人綜合中文字幕小说| 大香蕉手机视频| 狠狠穞A片一區二區三區| 97干干干丁香| 天天舔天天插天天干| 久草婷婷| 丁香丁香激情网| 久99在线视频| 久久小片| 亚洲免费综合一区| 天天综合插插| 九九热精品| 色综合色| 丁香五月在线播放| 那里有AV网址| 在线播放成人网站| 色久在| XX色综合| 99久久国产宗和精品1上映| 日韩啪啪视频| 五月婷综合| 天天做天天爱高潮片| www.henhenl| 色婷婷AV在线| 色婷网| 伊人干综合| 婷婷久久五月天| 香蕉综合网| 夜夜谢天天干| 亚洲婷婷开心五月| 色色综合网www| 久8色色| 99视频日韩| 久久99网| 97av在线视频| 日本人妻伦在线中文字幕| 丁香婷婷激情五月| 五月天婷婷色播综合在线| 日本五月视频| 99ri在线播放| 99免费在线| 激情五月伊人婷婷| 九色亚洲| 五月天婷婷操逼视频| 91chinese在线| 婷婷五月天伊人| 26UUU精品一区二区c〇m| 久久九久久| 丁香五月电影| 丁香激情久久| 色情五月天se| 久久9RE热视频精品98| 超碰人人操人人干| 深爱五月中文字幕| 亚洲AV无码成人精品电影| 久久与婷婷| 五月婷婷六月丁| 免费黄色片子| 色婷婷欧美| 99这里有精品视频| 五月天激情网页| 色网站9| 99热99干| 另类激情五月| 99精品久久久| 91av传媒高清在线视频网| 婷婷十月激情综合网| 日本啪啪天堂| 亚洲AV成人在线观看| 91视频一起草| 六月婷婷亚洲| 99热这里是精品| 九九爱激情| 久久久激情视频| 夜夜做天天爽| 九九九九毛片| 噜噜五月天综合| 成人av免费观看| 日本人人xxx| 色无码| 丁香成人色情五月天| 色色五月天丁香| 综合狠久久| 操操碰| 亚洲第79页| 亚洲国产色婷婷| 中文字幕性爱视频| 亚洲无码影音| 激情五月综合网| 五月婷婷影院| 色婷婷丁香香香蕉视频| 袁子仪视频观看| 96精品久久久久久久久| 久久婷婷网址| 色五月情| 日本99视频| 99爽视频| 色无码| 97韩国久久电影院| 天天日狠狠| 色婷婷久久综合| 久久大香蕉伊人| 综合aV在线| 婷婷久热| 久久久性爱视频| 五月天婷婷成人网| 久久久免费精彩视频| 麻豆五月丁香婷婷| 91视屏在线观看com.wwwvv| 日韩啪啪视频| 色色五月天丁香| 91啪啪网| 婷婷久久精品| www.日本91| 亚洲成人五月| 夜夜干 夜夜操| 久久99免费视频| 丁香五月天五码婷婷| 六月丁香五月激情亚洲AV| 操久久网| 激情久久综合| 久久久人妻人伦| 9久久久久久久久久久| 婷婷五月网图片区| 亚洲久久日| 在线观看亚洲视频影院| 91丨九色丨熟女|老版| 碰碰人人漕| 激情婷婷九月| 国产精品成人AV在线| 久99久精品视频| 伊人网大香| 天天搡日日搡aaaaⅩ| 翔田千里 50岁 无码| 99热国产精品| 日韩人妻无码一区二区| 久久婷婷五月天激情| 欧洲色| 久久婷网| 五月丁香六月婷婷久久| 色色操| 中文字幕人妻熟女在线| 六月婷综合| 高清 码 免费看片短视频| 九九综合网色全集 | 婷婷婷婷色| 亚洲精品国产精品乱码视99| 9久国产| 99综合视频| 丁香六月婷婷综合| 婷婷丁香91综合| 97ai婷婷| 色色婷婷五月天| 丁香五月婷婷成人综合| 婷婷五月天精品| 夜夜大香蕉婷婷丁香| 久9热| 91狼友视频在线观看| 91久女| 欧美操逼天堂| 淫荡家庭AV| 五月婷婷视频ab| 精品色色| 婷婷五月天久久久| wuyuedingxiang| 综合久久9| 狠狠久久婷五月综合色| 日日天天干| 一起草av| 丁香五月欧美婷婷| 丁香花五月天激情| 天天日天天操天天干| 久久激情五月婷婷| 色综合色| 日韩淑女人妻luan伦激情精品一区二| 五月丁香婷婷爱激情综合网| 婷婷综合六月| 一级性爱视频| 婷婷六月丁综合| 色啪影院| 天天插插天天| 人妻中文在线| 99亚州综合精品成人网| 亚州操人在线视频| 曰本aaaaaa丈片| 99 热国产在| 激情五月色综合| 激情五月婷婷五月| 色色色色色色色色色色色色色五月天| 婷五月丁香俺| 香蕉人在线香蕉人在线 | 婷婷色色五月天| 欧美、日韩、中文、制服、人妻| 色五月av伊人| 大香蕉520| 黄页免费一级视频懂色| 啪啪五月天啪啪| 亚洲国产成人综合| 美女91一起草| 激情婷婷五月天在线观看| 五月激情站| 99精品久久久久| 99精吕视频在线观看了| 青草视频在线播放| 久久久精品99亚洲综合| 激情久久肏屄视频| 色五月女| 婷婷伊人欧美| 婷婷丁香五月精品| 99热成人| 久操大香蕉| 色色色在线观看| 五月天婷婷网站| 欧美综合在线五月天色婷婷| 五月天激情四射| 中文字幕永久免费| 91爱操| 色色九九五月天| 激情五月色在线播放| 丁香六月婷婷色XXXX| 成人色五月天| 大香蕉婷婷| 国产伦理精品高清在线观看网站一区二区 | 亚洲中文字幕网| 大香蕉伊人久久| 91碰| 久久久999精品| 4438激情网| 国产精品国产| 日本99在线| 99手机在线精品视频| 日本色爽| 9l视频自拍9l九色9l成人| 久久五月天精品视频| 天天操夜夜肏| 五月婷婷性爱网| 五月婷婷综合精品| 99超碰在线免费| 五月天天久久香| 日韩AV在线免费观看| 99riAv1国产在线观看| www99在线观看视频| 国产免费AV在线| 丁香婷婷网| 色播播五月天| 婷婷五月天激情综合| 欧美黄色一级录像| 婷婷开心激情五月激情网| 99小视频在线观看| 六月婷久久| 99自拍视频| 国产毛片欧美毛片久久久| 九九一综合精品| yirenjiqingshiping| 人人干人人看| 五月婷婷熟女| www色色com| 色吧网91| 五月婷婷在线免费| 91综合国免费久入| 婷婷五月天av| 五月婷婷丁香综合网| 91好好热日本在线| 色色色成人网| 丁香五月天激情综合网| 丁香婷婷精品视频| 婷婷丁香大香蕉| 草五月| 婷久久| 九色视频91| 甈你aaaaa| av首页在线| 九九热经典视频在线观看| 视频在线免费观看欧洲乱码| 中文字幕在线日亚洲9| 五月丁色AV| 九九热视频免费| 伊人综合婷婷| 五月开心网| 国产婷婷五月天| 97人人看| 六月婷婷色色网| 大天天伊人| 亚洲色欲欧美一区二区三区| 综合激情在线观看| 婷婷大香蕉| 亚洲九九视频| 99热这是里只有精品| 久久青草国| 天天操天天干天天日| 婷婷开心激情五月激情网| 五月婷婷久久久| 五月天sesese| 婷婷色网| 玖玖资源站中文| 欧美激情五月天婷婷| 26uuu欧美| 婷婷开心青青草| 91碰碰视频| 久月久在线视频| 99热精品无码| 开心五月深爱五月| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 色五月婷婷亚洲| 五月天激情www| 久久99热免费| 99熟女视频| 天天久久婷婷| 日本人妻伦在线中文字幕| 色综合久久44| WWW.婷婷| 热99只有精品| 五月情丁香色| 婷婷五月激情网| 天天操夜夜操| 色色哒五月婷婷六月丁香| 99视频精品视频| 综合色色婷婷| 91丨九色丨熟女丰满| 99爱免费视频| 天天 日综合| 天天日天天做天天舔 | 91九色国产在线| AV在线收看| 人人操超碰| 在线看的免费网站| 天天干天天爽| 九月色婷婷| 9久久久久久久久久久| 色五月丁香五月天| 五月天色视频| 婷婷色网站| 婷婷六月激情丁香| 五月天小说激情| 五月婷婷六月丁香综合视频在线| 99久久精| 99re这里只有精品99| 91婷婷丁香| 丁香五月日韩| 激情黄色小说色五月| 六月丁香六月婷婷欧美| 丁香伊人网| 久久九精品| 丁香婷婷激情| www.9797国产| www.五月天婷婷| 91无码高清| 久操福利| 综合激情婷婷| 狠狠色丁香| 97人人超| 人人摸人人干| 日韩一区二区A片免费观看| 国产精产国品一二三在观看| 国产午夜精品一区二区三区嫩草| 久久精品99国产精品日本| 国产国产乱老熟女视频网站97| 中国女人做爰A片| 色狠狠色噜噜AV天堂五区| 无码 av电影| 人妻免费网站| 婷五月天六| 天堂色婷婷| 99热都是精品| 天天爽天天爽天天爽天天爽天天爽| 色五月xxx| 6080av| 久久99免费视频| 色五月婷婷五月天| 激情av| 无码人妻少妇色欲AV一区二区 | 久碰视频| www.五月天性.com| 五月丁香六月婷婷开心网| 色五月激情网| 狠狠干综合| 97精品人人A片免费看| 九月丁香很很色| 超碰在线94| 狼人久草| 激情五月婷婷综合网| 深情五月天| 色婷五月天| 亚洲亚洲人成综合网络| 成人精品网站在线观看| 成人婷99最新| 五月综亚洲| 久久爱婷婷| 人人摸人人摸| 色爱终和网| 丁香五月六月综合欧美| 精品久久久人妻| 怎么样可以看免费的一级av| 五月久久网| 九月大香蕉| www.五月天。com| www.天天日| 国产AV网页| 99国产小视频| 九九Av| 插逼综合网| 色婷婷丁香五月天在线观看| 大香蕉啪啪啪| 99re最新地址视频| 另类A片| 久婷| 天天综合网站| 婷婷五月天色丁香| 97碰碰在线观看视频| 五月色综合| 色婷婷综合丁香五月天| 五月开心婷婷中文字幕| 欧美日韩AAA| 99热这里全是精品| 日本三日本三级少妇三级66| 天天色天天搡| 思思热精品在线| 久久综合九九| 91久久综合亚洲噜噜成人在线| 久久成人性爱| 91婷婷丁香五月| 国产黄色在线观看| 九月丁香婷婷| 亚洲热视频在线| 色情婷婷| 99九九在线| 丁香五月激情在线| 777精品久无码人妻蜜桃| 玖玖午夜视频| 久久人妻人人槡| 99久久婷婷国产综合精品草原| 91丁香| 五月天婷婷久久| 99在线免费视频播放| 【乱子伦】黄色| 操久久网| A级毛片高清免费不卡播放谢谢谢谢| 国产26uuu视频| 天天做天天爽| 成人国产综合| 婷婷色综合| Www.Av网9| 五月丁香婷婷啪啪综合网| 99性爱视频| 伊人婷婷综合| www.色五月| 五月色情婷婷| 激情五月www| 97精品人人A片免费看| 久色视频在线| 色婷婷电影| 99色热视频| 99激情| 五月婷婷色色网址| 九热视频| 亚州欧美黄色电影| 夜夜操天天爽| 九九九九热99超碰| 婷婷五月久久| 丁香六月天婷婷色| 夜夜天天天天天干天天爽| 99热思思| 激情五月综合免费| 五月综合激情婷婷六月色窝| 爱之国产色情综合| 超碰在线成人| 成人片久久网站| 亚洲日韩一页精品发布| 97丁香五月天| 98国产精品综合一区二区三区| 婷婷五月天直播| 99re6在线视频精品免费| 激情婷婷人妻| 九九在线热九九在线热99热| 五月天婷婷黄色| 午夜成人av在线| 五月天婷婷在线播放免费| 4399精品一区二区| 五月久视频| 成人网在线视频| 激情五月天色色网| 99热99网| 久久无码成人| 这里只有精品免费观看网占| 欧美激情久| 91要啪| 91操网| 婷婷亚洲色| 天天操天天插| 可以免费看的av网站| www.婷婷五月天,com| www.夜夜操.com| 五月丁香婷婷综合久久| 久久六月天| 五月丁香狠狠爱婷婷综合| 91麻豆国产三级精品福利在线观看 | 欧美内射AA| 久久色情| 日日狠狠久久偷偷四色综合免费 | 丁香五月电影| 色五月婷婷丁香国产在线| 久久五月婷天天干| 97色色色| 草草视频91| 全部老头和老太XXXXX| 曰日爽日日操| 丁香五月综合婷婷| 曰韩少妇内射免费播放| 天天插天天操| 天天看A片| 日韩黄在免| 五月开心网| 丁香婷婷激情五月色| 九热av| 婷婷五月色情天| 99热骚货| 美女精品一级不卡视频| 国产3p露脸普通话对白| 婷婷五月天久久| 伍月婷丁香婷| 五月色婷丁香| 五月丁香啪啪网| 婷婷精品性性性性性性性| 99re在线精品视频| 九九九九九九热| 婷婷五月天激情小说| 嫩BBB槡BBBB搡BBBB视频| 色99热| yw国产AV| 久久综合五月天| 婷婷五月天免费视频| av婷婷丁香 六月| 岛国操B不卡在线| 五月天偷拍| 五月婷婷丁香五月 | 综合网网欲色| 99ER热精品视频| 啪啪 综合网| 五月天狠狠干| 综合久| 久久婷婷成人综合色怡春院| 天天操夜夜爽天天操| 丁香六月青青草| 久在线88综合| 久久精品性爱| 亚洲第一综合| 天天舔天天摸天天透| 26uuu国自产精品| 五月丁香婷婷综合视频| 久久久婷婷五月天| 高清无码入口| 国产9色在线/日韩| 激情五月,激情综合网| 日韩抽插操逼| 日韩无码专区| 99色在线观看视频| 91操黄| 亚洲蜜桃精久久久久久久久久久久| 婷色五月天| 久久99热久久99精品| 色五月婷婷大| Xx色综合| 日本一级一级一级一级| 狠狠爱五月婷婷| 久久区区一二三av| 婷婷天堂伊人| 国产精品久久久爽爽爽麻豆色哟哟| 丁香五月婷久久| 色99热| 婷婷欧美| 99精品视频免费观看| 这里只有精品视频在线看| 深爱激情小说五月婷婷| 无码九九| 久久丝丝热| 激情四射五月天| 8区视频在线| 欧美在线看| 天天肏高清在线| 日韩av网站在线观看| 超级碰碰视频无码| 九九综合五月欧美| 国内久久婷婷| 五月婷婷精品视频| 日日操夜夜操中国无码| 涩丁香91| 色婷婷五月综合色婷婷| 青吴乐视频| 91男人资源站| 激情婷婷护士激情| 成人精品网站在线观看| 色激情网| 人妻操日日| 婷色视频| 91视频一起草| 日韩不卡DvD| 亚洲Va成人| wuyuedingxiang99| 国外亚洲成AV人片在线观看 | 久久九九蜜| 九九99视频| 婷婷六月丁香五月| 婷婷丁香五月婷婷| 亚洲熟女色| 丁香五月天啪啪| 狠狠狠狠狠干| 免费观看全黄做爰的视频| 俺来也狠狠| 色婷婷色五月综合| 九九十99视频| 色婷婷久久| 色婷婷五月基地在线| 五月丁香六月花| 99爱视频在线观看这里只有精品| 色五婷婷在线视频| 97人人干人人操| 99久久综合| 99se丁香| 亚洲视频国产一区| 97色干| 天天操九九插| 五月婷婷六月丁香在线视频| 97干在线播放| 五月婷久久| 久久成人亚洲欧美电影| 操婷婷基地| 亚洲性受XXXX五月丁香| 亚洲狠狠婷婷综合久久久| 夜丁香五月婷婷| 98永久精品| 九九成人视频| 99视频啪啪| 色综合久久天天综合网| 欧洲激情五月天婷婷| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 五月天婷婷青青| 亚洲天堂aaa| 久久香蕉影院| 曰本久久女| 五月婷婷啪啪啪| 99色视频在线观看| 天天爱天天爽| 狠狠操狠狠插| 婷婷久久18| 亚洲成色综合网站免费观看| 丁香婷婷噜噜| 久久久久久久久久8888| 伊人成综合五月婷婷| 99re思思| 亚洲免费婷婷| 六月婷婷激情| 色五月播五月| 色偷偷狠狠| 丁香色六月婷婷| 综合色图婷婷| 久久久久久欧美精品se一二三四| sewuyuejiqingwang| 日本啪啪天堂| www.91五月| 激情五月天在线观看婷婷| 青草激情综合| 欧美精品XXXXBBBB| 五月天激情啪啪| 亚洲九九99精品视频在线播放| 欧美激情综合色综合啪啪五月| 五月婷婷六月激情| 欧美日韩成人在线| 天天干天天干天天干天天干天| AV中文在线| 婷婷五月综激情| 丁香五月婷久久| 亚洲无AV在线中文字幕| 激情五月丁香社区| 79精品视频| 日韩人妻AV在线| 久久丁香| 亚洲AV无码影院| 综合视频五月| 99热| 色综合天堂| 丁香五月天成人网站| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 色婷婷成人做爰A片免费看网站| 激情丁香九九五月综合网| 婷婷五月天狠狠| 国外亚洲成AV人片在线观看| www.粉嫩av.com| 婷婷伊人中文字幕| 99精品超在线播放| 色婷视频| 91呦呦呦| Va另类视频| 成人无码髙潮喷水A片| 日本精品在线噜噜噜| 五月天操逼网| 欧美色色色色色色| 五月婷婷六月丁香色| 99热每日| 久久这里有精品在线观看| 中文成人在线| 天天草天天爱| 九热视频| 五月激情丁香久久综合网| 79精品视频在线观看,| 第四色激情网| 久久精品99| 丁香婷婷基地| 婷婷五月综合在线| 99久久婷婷| av色婷婷| 99热这里只有精品1025| 婷婷五月综合网| 五月婷婷天堂| 婷婷色网站| 色色99| 久久网站免费亚洲| 色播丁香| 婷婷在线午夜| 182tv992tv人之初午夜免费观看| 天天摸人人摸|