久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

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上下文快照、單元測(cè)試框架及典型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/示例工程和測(cè)試程序比如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ī)做測(cè)試直接把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è)簡單測(cè)試用官方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示例里測(cè)試確認(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)化測(cè)試用的瀏覽器內(nèi)核和 CEF 不是一回事。不過有些同學(xué)會(huì)把它們搞混。Playwright 是一個(gè)測(cè)試框架它下載 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)行??刂其秩具M(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ú)立的測(cè)試工程里調(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
返回資訊列表
久久久新亚洲AV| 国产一级137片内射麻豆| 一区二区三区精品黑丝白丝酒店对鸡 | se吧提供91精品国产91久久久久久| 色色色色色色色色综合| 日韩人妻一区二区精品| 欧美日韩久久精品爱爱| 国产精品粉嫩福利在线| 久久99999| www激情| 亚洲一级特黄大片在线播放91| 97精品免费视频网站| 97免费视频网| 伊人成人中文字幕久久网| 国产av激情无码久久天堂| 免费国产视频| 精品国产乱码久久久久久网站入口| 91无摭挡| 亚州欧美综合| 插插综合网天天影视网| 亚洲加勒比色图| 午夜精品久久999热蜜桃介男人用| 人人爽天天爽| 国产精品对白内射| 99精品视频在线观看| 九九色逼| 小草精彩毛片| 热久久99999| 91视频成人福利网站在线一区| 91超碰人人| 国产精品色色| 密臀在线免费观看| 中国小夫妻勾搭露脸淫荡对白| 殴美日韩m| 91久久午夜无码鲁丝片久久人妻| 操人妻逼91| 美女露胸露屁股| 九九久久久久久爱| 国产精品久久久久久久久久久久久久久久 | www.人人摸在线视频| 天天天做天天天爱天天天爽| 97国产精品一区二区传媒公司| 一卡二卡在线播放| 欧美激情精品| 亚洲乱色熟女一区| 狠狠干狠狠色| 日韩在线97| 天天干夜夜肏| 欧美片第一页| 91精品伊人久久久大香线蕉91| 亚洲欧洲综合视频在线| 欧美日韩夜夜| 清纯唯美综合亚洲| 女人精品内射国产99| 眼镜人妻101.com| 嫖老熟女A片一二三区| 国产成人资源| 亚洲无码电影久久久| 欧美性爱三区二区| 亚洲国产欧美一区二区潘金莲| 成人性爱免费播放| 国产老女人久久毛| 天天色欧美| 国产最新小视频在线播放下载| 女性喷水高潮在线观看| 久久综合久色欧美综合狠狠| 嗯嗯啊啊啊好爽| 午夜精品久久99蜜桃的功能章节| 国产AV久久野战精品| 亚洲av强奸乱伦| 91国产大片| 欧美日韩传媒| 九九亚洲视频| 国产精品毛片| 国产亚洲福利第一页丝袜| 日韩去日本高清在| 亚洲综合69| aV中亚| www久| 国产久久男人天堂| 国产亚洲精品美女久久久| 日韩欧美国产高清视频| 久久99草| 亚洲成人性爱网站在线播放| 夜夜嗨AV蜜臀av| 天天干18禁| 国产亚州高清国产拍精| 超碰97资源中文字幕| 久久久偷拍| 很很热性爱视频| 久草热制服丝袜在线观看| 日韩射精| 婷婷久草一区二区三区| 97超级久久| 伊人网免费视频| 国产精品久久久久久夜夜夜| 精品免费视频国产一区| 久久久久久久久久久久久久9999| 人妻铁牛TV| 97任你吞精| 久久少妇人妻| 欧美性爱伊人| 男人的天堂99| 亚洲五区熟女| 日韩Va亚洲va欧美Ⅴa久久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 口爆欧美91| 96久久久久| 欧美乱色| 国产操操日韩三级黄| 国产一| 亚洲精品成人激情在线| 三级色影综合网| 800zy一区二区| 日日骚AV| 啊啊啊啊在线播放| 97精品国产97久久久久久免费| 色吧91| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美高潮在线| 国产亚洲精品自在线亚洲情侣| 国内毛片四区| 超碰碰激情97+久| 69精品久久久久中文字幕| 超碰97国产欧美| 操操操操操操| 久久女人一区二区三区| av网站免费线看| 麻豆a'v电影| 香蕉一区二区三区在线视频| 亚洲精品性爱片| 亚洲欧美日韩电影网站一区 | 日韩精品碰碰| 综合色播| 91亚洲丝袜熟女| 九九九九久久久| 内射老妇BBWX0C0CK| 日韩精品人妻中文字幕久久久| 国产精品免费日韩| 中国一级αV| 四季av一区二区凹凸精品小说| 亚洲宅男天堂| 中国女人内射6XXXXX| 国产精品剧情| 91N综合网| 激情文学欧美| 丁香五月婷婷色| 久久久久久99AV无码免费网站| 欧美性高潮| 97丝袜亚洲在线播放| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 天天躁日日躁AAAXX| 精品国产三级av韩国在线| 男女啊啊啊| 人人手机欧洲亚洲国产人妻| 午夜高清成人在线视频| 久草免费福利在线播放| 尤物视频一区| 国产亚洲精品无码三区| 校园春色五月天| 欧美日韩中文字幕不卡| 职场同事知名国产国产精品久久欧美日韩 | 97天天做| 男人的天堂欧美| 亚洲一区二区三区麻豆传媒| 天堂九九九九九九九九九| 涩五月婷婷| 九九性爱网| 自拍偷拍亚洲熟女妇人精品| 国产曰批免费观看久久久| av网站免费线看| 欧美性性性| 久久久555| 97K超碰在线| 操久久久久| 欧中美三级一区二区三区| 欧美第38页| 97超碰亚洲| 综合久欧洲| 伊人大香蕉在线| 爽爽淫人网| 嗯啊不要啊在线 | 国产精品露脸在线观看| A 在线网址| 国产高清MV操逼视频| 成人三一级一片aaa| 最新三级网址| 久欲AV| 亚洲淫色网中文| 中文久久96| 日天天九九天堂666| 熟妇色99| 蜜乳Av成人片网站| 国模吧 一区二区三区| 五月天婷婷小说| 欧美亚洲20p| 久久精品国产精品| 91色狼| 国产女人高潮嗷嗷嗷叫小说| 成人性爱电影一区二区| 欧美日韩国第一区| 亚洲 中文 欧美 日韩 在线| 国产精品人妻无码久久久互動交流 | 91无遮挡| 国产家庭乱伦网址| 蜜臀久久99精品久久久老,,| 国产精品视频播放| 欧美一级二级三级| 韩国一级婬片A片无码天美| 国产三级电影免费观看| 久艹伊人精品综合在线| 无码二级三级| 搞中出久久| 亚洲另类综合欧美| 久久久99999久网站| 天啪| 亚洲精品亚洲人成人网| 亚洲少妇在线影音| 久久老女人| 国产黄色影片在线观看| 国产不卡片| 美女91网| 免费一级毛片在线视频观看| 一本正道久久熟女| 97这里有精品| 探花激情视频| 超碰在线成人电影| 国产探花精品在线| 小骚逼被操的爽不爽| 91老熟女视频| 久久性爱大全| 人人妻天天做天天爽| 亚洲色图尤物视频| 亚洲精品天天影视综合网| 97精品免费| 久久乐| 密臀在线视频| 日本99热| 中国和日本人色哪个不下载能放| www.av在线视频| 九九热超碰97亚洲最新香蕉| 91色人妻| 中文字幕超碰CAO| 尹人免费观看视频在线| 啊啊啊不要啊啊受不了了视频在线| 加勒比色99999| 91色女| 精产品久久| 天美麻豆精品视频99| 中文字幕精品探花视频| av在线人气| 120分钟婬片免费看| 伊色久人大在线| 粉嫩AV一区二区夜夜| 欧美少妇内射| 91nbbbbbb| 九九九九九九综合| 国产熟女完整版中字| 又大又白奶子| 72av视频| 五月丁香啪| 少妇人妻在线| 天天色,天天干,天天干| 九草在线大香蕉| 亚洲熟妇乱女区二区三区| 国产视频大全| 欧美日韩电影成人在线| 天堂九九九九九九九九九| 人妻素股| 久久精品国产免费观看99| 伊人一区二区三区| 热久久国产| 91爰爱欧美| 欧美一级久久久久久久大片动画| 天美传媒av在线| 亚洲高清无码在线桃色| 99精品久久久久久| 丁香婷婷大香蕉| 欧美se综合| 一区二区激情国产熟女| 97精| 99RE在线视频精品,这里只有精品| 国产精品麻豆视频网站| 91痴汉| 天堂av2019| 老子午夜伦不卡影院| 超碰久久草| 亚洲古典另类欧美在线| 五月天婷婷社区| 综合色图,成人综合网| 囯产精品久久久久久久久久梁医生 | 中文字幕乱在线伦视频中文字幕乱码在线 | 99热精品国产| 高清国产av无码| 国产黄色剧情影片麻豆免费播放| 欧美第二页午夜| 屌色在线97视频| 精品日韩人妻精品一二三区| 久久久久久久久国产| 九九热在线精品视频| 草草电影院| 亚洲熟女乱色一区二区三区久久久| 色爱国产| 一级做受视频免费是看美女| 欧美第五页| 欧美有码亚洲中文字幕一区二区三区四区| 亚州AV无码国产精品| 欧美啪啪色吧在线| 欧美日日人人天天| 91久久国产综合精品| 婷婷精品| 婷婷中文网| 国产精品内射婷婷一级二| 男人的亚洲天堂| 亚洲综合97中文网| 亚洲操逼网| av天堂精品久久| 午夜福利国产欧美日韩夜夜| 97视频网站| 97久操| 天美传媒精品一区二区三区| 色婷婷久久综合超碰| 久久婷婷色综合一区二区三区| 日韩乱插| 日韩亚洲Av人人夜夜澡人人爽| 欧美亚洲高清| 夜夜骑夜夜操| 亚洲无码偷拍| 久久大黄片| 我要色综合网站| 人澡逼| 午夜AV污污污| 清纯唯美激情四射| 狠狠中文字幕| 99无码| 久久一区二区三区入口| 国产探花日韩援交| 中文字幕乱码人妻二区三区| 激情天天视频| 黄色大片免费在线| 在线观看免费视频国产| 国产一区二区三区白丝| 人妻中文字幕精品无码 | 色在线综合| 老熟妇乱轮| 亚洲图片欧美色图| 国产精品一区二区久久精品| 久久美女国产| 国产午夜无码片在线观看影视| 精品丝袜无码一区二区三APP| 日本视频在线中文字幕| 无码操逼视频一下| 2019精品国产无码成人| 逼操网站| 午夜一区| 厕所偷拍在线| 成人一区二区三区四区| 欧美激情亚洲情色| 亚洲情色欧美| 日韩免费福利在线观看| 亚洲熟女性高潮久久久| 97国产成人精品免费视频| 九九综合久久| 欧美熟爽综合| 国产AV天美| 香蕉色网| 伊人国产成人av网站| 人人操人人干xxx| 中国一级操逼视频| 激情五月天丁香社区| 色婷婷香蕉| 国产精品久久久亚洲一区| 99久久无色码| 日本布卡一区二三区| 青娱乐91| AV无码久久久精品| 国产原创精品| 玖玖久久久| 欧美顶级黄色大片免费| 欧美九9 9 9| 日韩精品操少妇| 老色鬼成人精品视频下载大在线观看| 啊啊啊啊啊在线| 日本午夜操逼| 亚洲不卡不卡中文字幕不卡| 日本精品一区二区不卡| 婷婷激情五月天小说网| 亚洲精品一二三四区| 超碰色美女| 男人天堂网址| 91人妻Pr| 操逼999| 亚洲资源站| 懂色中文一区二区三区| 天天影视网综合少妇| 亚洲做性| 免费少妇一区二区| 999日韩中文精品观看视频。| 懂色av中文字幕一区二区三区天美| 波多野结衣一级视频| 熟妇人妻精品一区二区视频色欲| 国产日韩中文字幕欧美| 国产一区二区三区白丝| 屌妞视频久久久久久久久久久久| 国产高清自拍视频| 久无码| 欧美第二页| 色婷五月天| 日韩97在线| 99精品久久| 欧美91网| 日本三级黄页| 亚洲人天堂| 久久久精品国产亚洲伊人| 99夜夜操| 东京太热久久久| 久操精品| 日本黄页视频在线观看| 国产精品久久久久中文字幕| 中日韩久久久免费看| 狠狠爱综合| 亚洲色图欧洲| 爱射综合| 亚洲欧美日韩免费电影| 超碰天天操你比| 超碰色男人操熟女| 国产精品3| 一级久久久久久久久久久| 老熟妇一区二区三区啪啪| 中国一级操逼视频| 国产AV线| 婷婷香蕉欧美在线一区二区三区| 91被操| 国产精品制服丝袜中文字幕日韩一区二区三区| 97日韩| 四虎永久在线精品免费网址| 欧美的性爱网站免费| 91欧美另类| AA特级绝黄| 人妻娇喘 激情视频| 国产精品一区二区三区在线密挑| 少妇厨房愉情理伦片bd在线观看| 日韩精品系列| 日本天天吊| av强奸乱轮| 在线小说视频一区| 久久伊人在线五区| 强奸乱伦动态污图免费 | 日本阿v天堂在线观看| 影音先锋日本乱伦| 久久久久久久久9| 色综合潮| 精品亚洲国产成人av网站| 日韩97超碰| www.高清无码诱惑一区.com | 欧美久久伊人| 国内伊人久久久久久网站视频| 丝袜美腿诱惑亚洲欧美视频在线观看| 伊人天天久久动态图| 中文字幕片| 欧美黄片视频在线观看免费 | 囯产乱伦一区二区三女 | 国产午夜福利电影免费在线观看 | 久久这里只| 欧美91精彩| 欧美v日韩欧亚洲电影天堂色诱,国产传媒 | 亚洲乱熟女一区二区| 欧中日成人免费影视| 国产树林里野战在线看| 亚洲av国产av综合av卡| 欧美AB在线| 久9综合在线| 少妇三P| 亚洲瓯美色图| 日本免费不卡二区| 懂色AV蜜臀无码精品APP| 国产一级高清免费观看| 97欧美在线| 亚洲校园激情| 91少妇通奸网站| 亚洲和欧美裸体美女双飞视频| 中文字幕在线观看网页| 日本一区二区三区精品| 成人老鸭窝人人在线视频| 99性爱视频| 五月丁香激情综合网| 日韩人成网站在线播放| 玖玖爱免费观看视频| 99国产在线 精品 视频| 成人午夜小视频手机在线看| 国产伦乱91| 国产精品成人无码av| 婷婷综合久久| 91 手机在线播放 绯色| 天天色粽合合合合合合合| 亚洲av强奸乱伦| 久久性爱城| 色区久久| 97精品国产97久久久久久户外免费| 天天摸天天插天天日| 九久久九精品视频| 欧美有码亚洲中文字幕一区二区三区四区 | 97ai亚洲| 国产高清午夜成人在线观看| 午夜操逼不卡| 人妻-91porn| 欧美毛片在线网| 999久久久久久久精| 乱操9999| 精品国产乱码久久久久久网站入口| 97亚洲中文| 日韩成人在线性爱视频| 日韩另类| 日韩精品怡红院| 人妻精品一区二区| 国产精品久久99日日| 澳门特级毛片免费观看| 人人乐大香蕉| 麻豆精品三区视频| 天堂性色| 久久国产热视频97电影| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 欧美性爱伊人| 91在线美女| 亚州欧美综合| 国产精品人妻一区二区| 婷婷久久大香蕉| 国产亚洲欧洲在线观看| 啊啊啊啊啊啊在线观看| 婷婷超| 日韩性爱电影一区| 欧美亚洲综合色| 中文字幕诱惑制服人妻丝袜美丝袜美| 啊啊啊操死我| 精品999999| 5月婷婷6月六月丁香| 狠狠躁AV| 东京热双插| 亚洲一区二区精品福利| 性性久久| 91精品微拍福利| 久久久精久久久| 99精品人妻| a级成人毛片免费视频高清| 国产高清1234区| 97网站在线观看| 在线欧美69V免费观看视频| 中文字幕精品丝袜| 超碰诱惑| 六六久久日韩不卡| 日韩少妇无码| 亚洲激情久久| 精品传媒在线一区| 国产精品爽爽va在线观看98| 欧美一区二区三区成人性生活| 成人一二| 丝袜制服字幕在线| 九九碰九九爱97超| 久久久亚洲精品电影免费看| 在线播放欧洲免费av| 国产成人午夜视频网址| 91成人在线| 午夜视频久久久久一区| 色婷婷成人综合| 亚洲熟伦熟妇AV无码春色| 久久久久久久久久久久久9999| 欧美精品三级黄片| 99热在线不卡| 无码在线亚洲| 五月天婷婷社区| 五月丁香激情综合网| 91亚洲黄色网| 亚洲天堂人妻一区二区| 久久无码一区二区二三区性色| 粉嫩AV一区夜夜嗨| 亚洲黄色影视| 夜夜躁狠狠躁日日躁av| 理论久久婷婷网 8| 91AV入口| 91网站18+| 中文字幕在线24| 乱伦日本中文自拍| 日天天九九天堂666| 熟女精品一区二区三区| 日韩福利电影网| 婷婷15月天青娱乐| 啊啊啊好爽快点啊啊啊嗯嗯| 成在线人在线观看视频| 97色欧洲| 国产精品视频播放| 一区二区三区欧美激情| 免费精品国偷自产在线在线| 中文在线视频| 伊人97色天使| 天天日天天插| 国产强奸乱伦xd| 亚洲狠狠入| 91AV老熟女视频| 十八禁av无码免费网站APP| 国产激情在线| 欧美体内射精| 亚洲色图国产另类| 一本一首道人妻少妇免费久久| 99热欧美| 天天躁日日躁成人字幕aⅴ| 丝袜 中出 制服 人妻 美腿 中文字幕| 诱惑人妻欧美一区在线播放| 九热视频| 色婷视频| 日韩一区二区三区四区五区| 亚洲色图尤物视频| 国产免费黄色一级大片| 躁躁躁日日躁2020| 日韩电影中文字幕| 伊人在线大香蕉二。| 亚洲AV高潮| 色九九九九久| 天天干,夜夜爽| 日韩精品一区的| 盗摄女人妻在线| 福利社区午夜一区二区| 69少妇一区二区| 国内精品a| 国产亚洲福利第一页丝袜| 日本成a人v网站在线观看| 超碰九7| 日韩欧无码一区二区三区免费不卡| 搡老女人老91二区| 91中文字幕在线观看| 成人精品视频| 日韩精品人妻中文字幕久久久| 岛国人妻少妇av在线观看| 中文字幕少妇色 | 欧美专区17页| 亚洲美女精品九九视频| 日日夜夜精品视频| 亚洲国产一级黄色视频| 日本中文熟女视频| 久久久久久亚洲Av无码| 操逼免费视频无码国产| 无套内射人妻在线播放| 国产成人自拍视频视频| 国产日韩欧美三级片| 久99| 北条麻妃99精品青青久久| 国产精品欧美激在线| 98超碰日本| 欧美激情内射| 亚洲av性爱电影| 人人贴人人摸| 日本123区操B视频| 日本天天人人狠狠在线日美女| 啊啊啊啊操死我了| 成人精品视频| 麻豆av一区二区| 91P0RNY大屁股人妻| 午夜欧美女人操逼| 色噜噜人妻av 中文字幕| 亚洲怡春院| 美欧色综合| 色综合久久av| www.狠狠| 午夜AV污污污| 成人av性爱电影在线观看| 日本人人操人人操| 超碰538| 久久无码精品| 91精品伊人久久久大香线蕉91| 日本裸体久久色噜噜| 精品超碰色| 超碰无码加勒比| 久久精品欧美一区蜜桃| 97精品久久久久久久| 蜜臀Av一区二区三区| www.91人妻.com| 色综合中文字幕不卡| 大香蕉在线SuP| 午夜国产成人精品视频| 亚洲精品99| 997色在线| 久久久久亚洲av综合波多野制衣| 粉嫩国产精品久久粉嫩| 国产精品乱码久久久久久久久| 秋霞成人做爱| 一区二区精品更新提醒| 91殴美| 色五月婷婷五月天| 日韩欧美女求操每天更新| 五月天婷精品激情| 中文一区二区| 亚洲国产成人精品久久久国产成人一区二区三.| 日韩天堂av电影在线观看| 9I1性色影院| 国产福利第一视频| 啊啊啊不要嗯嗯在线观看| 影音先锋每日最新资源在线观看 | 五十路二区在线| 激情小说日韩无码| 成年女人一区| 亚洲无992tv| 91在线免费观看处女| 美女啊啊啊啊啊| 欧美制服另类丝袜| 日韩精品在线视频,日韩精品……| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 91制服丝袜中文字幕| 亚洲欧美大香蕉| 中文字幕国产在线天堂| 嗯嗯啊好大| 久久毛卡| 麻豆亚洲AV成人无码久久精品| 亚洲色 国产 欧美 日韩| 91天天综合在线观看| 五月婷婷色| 精品人妻免费观看| 97欧美精品综合| 亚欧美综合网| 久久视网78| 探花在线免费观看视频国产一区| 91美女国产在线| 亚洲成人美女无吗| 天天综合网在线观看| 精品少妇后入一区二区三区四区人妻巨乳 | 中日高清无码操逼视频| 熟女精品日韩一区二区三区| 亚洲男人的天堂V| 亚洲精品无码成人久久久99| 亚洲双插| 懂色AV一区二区三区| 日本熟女不卡视频| 天天综合色图| 色色青青久久| 色婷婷综合久久久久中文一区二区| 国产精品亚洲一级av第二区| 欧美色干| 啊啊啊轻点在线观看| 免费农村成人少妇人妻Aa一区二区视频| 家庭乱伦网站国产| 欧美狠狠干| 色天天野狼综合社区| 丝袜天堂| 九九色色| 色婷婷六月| 可以在线观看的黄色网址| 亚洲天堂男人天堂网| 综合情欲网| 久啪| 久草在| 久久嫩草国产成人一区| 玖玖视频在线资源一区二区三区| 欧美人妻久久精品二区三区| 久久久久久网址| 青青久日| 亚洲色图综合网| 久久久久9久久久久| 天天欧美色| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 国产女人成人精品视频| 国产美女自拍AV| 凹凸精品熟女在线观看| 亚洲日产专区婷婷| 使劲用力艹少妇视频一区二区| 人人妻人人操人人乐| 嗯啊不要在线| 欧美激情综合色综合啪啪五月| 亚洲精品亚洲人成在线麻豆| 国产美女销魂在线观看不卡| 看免费的黄片| 成人乱人伦一区二区| 草莓精品视频在线免费观看| 日韩强奸av| 精品日韩人妻视频| 天天色天天干天天爱| 欧美黄色手机在线观看| 84YTCOM性无码| 国产精品区在线12p| 九九九九热| 久久久久久99999国产精品| 色综合20p| 亚洲人人夜夜澡人人爽| 91日韩网站| 午夜一区| 乱伦日本中文自拍| 国产视频一区二区三区在线免费观看| 影音先锋少妇| 欧美性爱在线无码| 小草三级久久观看| 青娱乐蜜桃臀AV色婷| 啊啊啊啊啊啊啊在线| 亚洲第一页色网| 老子午夜伦不卡影院| 欧美国产精品| 任你艹| 爱干爱射网啊啊啊| 超碰综合97在线| 国产精品人妻免费精品| 91精品女厕偷拍视频| 中文字幕在线免费观看视频| 一区二区三区四区五区高清无码永久视频| 91在线限制级| 精品人妻一区二区三区蜜桃视频| 婷婷爽人人婷婷爽视频| 成人97人人超碰人人| 久久婷婷五月天| 东方亚洲在线操逼天堂| 亚州性色| 亚洲古典另类欧美在线| 精品久久久av| 日日97| 中国少妇XXXX做受| 99无码精品| 中文字日本乱码| 另类欧美色| 欧美操逼熟女| 久久av网| 国产在线播放成人免费| www.人人cao| 99国产精品久久久久久久成人热| 2017天天插| 91GD.COM| 亚洲伊人青青草| 日韩在线一区高清在线| ,国产乱人伦精品一区二区三区| 揉揉揉夜夜| 日韩精品1区2区中文字幕| 有码人妻系列| 欧美日韩不卡传媒| 天天精品| 蜜臀99久久精品久久久久久| 精品国产人成在线| 欧美一区二区成人一卡| av爱爱爱| 97干在线看| 五十路熟女人妻一区二区三区四区五| 亚洲第一在线视频| 天天看高清麻豆| 九九久久久| 91蜜桃婷婷狠狠久久综合9色| 51一区二区三区| 男男H黄动漫啪啪无遮挡网站| 国产久久日| 男人高清无码一区二区| 99re6国产精品99re| 久久精品国产72国产精品福利| 青娱乐手机日韩在线视频| 久久人人爽爽人人爽人人片αV| 青娱乐手机日韩在线视频| 草草网站影院白丝内射| 亚洲91大片| 国模少妇一区二区三区| 久久久久久久| 青娱乐av在线| 日韩美女操b| 亚洲精品97p| 大香蕉宗合网在线| 午夜啪| 美女主播色欲91抠b在线播放| 欧美天天干| 性感美女91影视| 96AV精品| 围产精品一区二区三区视频播放| 色噜噜人妻av中文字幕| 五月婷婷啪啪| 八戒午夜福利理论片| 九九九九九用不成了| 久久天堂婷婷网| 一级日本牲交大片好爽在线看| 加勒比性爱成人在线| 日韩av女优在线免费一区| 岛国毛片在线观看免费| 蜜桃午夜视频一区二区| 日韩精品人妻中文字幕有码午| 国岛片视频| 中文字幕丰满人妻日本| 天天日骚逼熟女| 久久av色| 久久五月份| 色伊人91| 九九九色| 亚洲日韩欧美一区二区| 99精品久久久久久久婷婷蜜桃| 中文字幕一区二区视频在线观看 | 97天天搞在线| 日韩成人精品视频自拍| 3PAV乱伦视频| 精品一级| 中文字幕欧美精品亚洲日韩蜜臀| 亚洲天堂自拍| 野狼激情网| 精品一区二区成人动漫| 国产专区第一页| 国产精品视频自拍在线| 凹凸精品熟女在线观看| 91精品久久久久| AV99热18这里只有精品| 亚洲情色一区三区| 国产一区二区三区中文字幕| 女人爽到高潮潮喷18禁网站 | 亚洲色欧| 亚洲精品一区二区免费在线观看| 91人妻人人妻| 偷拍网站久久男女男| 97碰在线视频| 91久久久久久久久18| 97国产成人精品免费视频| 免费伦费视频在线观看| 久久亚州精品成人Av无| 久久精品午夜国产亚洲AV无码| 天天干人人看综合| 亚洲欧美日韩免费观看| 欧美天天射| 国产免费一区2区3区| 亚洲熟久久| 欧洲亚洲人人爽爽视频| 丝袜色综合| 超碰色大香蕉| 亚洲天堂久久久久久粉红视频| 伊人天天久久动态图| 老熟妇一区二区三区| 一本久久久精品| 久久久性少妇| 中文字幕三四五区| 香蕉视频欧美一卡二卡| 84YTCOM性无码| 老熟女搡BBBB搡BBBB视频| CCYY草草影院地址入口| 成人无码在线超碰网| 亚洲欧综合另类无码一区| 欧美成人四级在线播放| 人人爱人人操人人性| 婷婷成人五月天| 欧美日韩淫加| 色www精品视频在线观看| 蜜桃视频一区二区三区在线观看| 久久久男人的天堂| 无码男人天堂| 欧美欧美少妇| se吧提供91精品国产91久久久久久| 99久久久无码国产精品性啊聊| 亚洲精品国产专区在线观看| 超碰精品在线| 亚熟hd视频在线| 日本不卡中文| 欧美一区二区三区四区综合| 日本人人操人人操| 91精品国产综合久久久蜜臀| 劲爆欧美人妖三区91| 日韩在线观看三级电影| 国内自拍 日韩激情 99| 日欧美色| 九九久久久| 欧美亚洲尤物久久| 99性爱| 91成人亚洲色图| 国产超碰AV在线精品| 柠檬AV导航| 日日干夜夜骑| 老熟女搡BBBB搡BBBB视频| 精品少妇一区二区三区免费观看| 欧美熟女丝袜| 国产精品久久久久久高清无码免费看 | 91人妻人人澡人人爽人人精品| 亚洲强奸乱伦影视网| 在线亚洲精品久久久| 91国产操逼视频| 丝袜美腿诱惑亚洲欧美视频在线观看 | 操日韩第| 99无码视频| 91激情国产| 一级久久久久久久久久久 | 欧美在线l亚洲| 91精品亚洲内射孕妇| 欧美中文字幕男人天堂久久精品| 麻豆熟妇乱妇熟色A片在线看| 五月天婷婷基地| 婷婷人妻激情| 五月婷在线| 国产搭汕a级片| 啪啪AV导航| 精国久久一区二区三区98| 尤物黄色在线观看网站| 日韩三级在线观看mp4| 青青青国产手线观看视频2| 色盈盈影院| 国产精品久久久久无码A√| 四虎884a| 久久国产乱子伦精品免费女人| 日韩在线97| 欧美亚洲尤物久久| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 凸凹视频在线观看| 久久亚码| 丁香五月激情综合国产| 综合天天。| 99热这里是精品| 久久岛国| 精品国产污一区二区三区| 第四色奇米影视777| 日韩色女精品| 久久国产视频性吧| a片久久久久久久久久久久| 色九九九九| 人成午夜免费大片| 草草草视频| 狠狠图片青青草| 亚洲成人久久美女| 国产亚洲色停停久久99精品91| 青青草日本无码| 中文字幕精品一区欧美| 日日骚av| 激情露脸爱| 18禁中文字幕| 91亚洲情色| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 好一吊区二区| 日韩亚洲国产视频| 夜夜骑夜夜操| 男人天堂无码| 强奸少妇AV导航网| 熟女被操视频网址| WWW啪啪的com| 夜夜爽夜夜操| 91碰碰| 欧美 青青草| 久久XX| 青草草免费网站av| 12一15性XXXX粉嫩国产| 九九九九一区| 欧美亚洲日韩16色| www.丁香五月| 亚洲最大成人a毛毛片| 人人妻碰人人免费| 99热这里只有精品18| 东京热一区二区三区四区五区六区| 超碰在线人妻| 亚洲国产精品无码AV久久久| 大香蕉色欲AV| 91性感网站| 丝袜美腿欧美| 欧美麻豆成人同性GⅤ在线| 日本性爱欧美性爱| 色香天天| 亚洲欧美黄| 久久久久久久| 色九久| 天天拍夜夜| 欧美日韩国产精品久久色婷婷| 欧美91精彩| 亚洲区限制级| 国产熟女精品区| 在线黄色污污网站| 久草男人天堂| 亚洲激情 欧美色图| 亚洲色9| 天天日天天操VV| 国产中文福利| 欧美影音在线| 91国产伊人大香蕉| 少妇淫妇久久久久久久| 欧美激情精品| 亚洲综合欧美| 国产精品国产精品国产| 人妻少妇精品久久久久久久| 超碰2017| 激情欧美97| 国产乱伦搜索结果91P| 国产精品久久久久久久久久梁医生| 天天射日日干| 91精品微拍福利| 亚洲精品国产熟女久久久久久| 岛国毛片在线观看免费| 成人麻豆av电影网站| 巨爆乳肉感一区二区三区竹菊影视 | 盗摄女人妻在线| 操一区| 天美国产精品| 国产AV人人 夜夜人人澡| 91制服丝袜| 伊人精品视频| 蜜桃传媒视频第一区入口在线看| 69一区二区三区| 色操逼网| 国产女s强制榨精视频| 91精品伊人久久久大香线蕉91| 日韩精品区二区三区不卡| 性色中出| 久久久久久久久久久久97| 一本色道无码DVD中文字幕| 国产女人和拘做爰视频 | 天天干一干| 偷拍在线观看视频| 少妇精品久久| 欧美色性爱| 美女高潮视频91| 超碰无码五月97| 日韩成人性日韩成人性爱视频在线免费观看 | 美日韩成人| 日韩操呦呦影院在线观看| 99婷婷一区二区| 色五月亚洲| 色哟哟av网址| 久久久久久亚洲Av无码| 日韩免费人妻色情网站| 蜜臀无码一区二区| 亚欧高清| 厕所偷拍在线| 99人妻| 欧美天天射| aaa一级黄片| 综合激情一一91| 亚洲视频精选| 爱我干综合| 超碰色美女| 乱伦熟女区| 91精品免费| 亚洲第一狼人丝袜美女另类| 性生活久久久久久久久久| 国产99999| 色蜜AV| 凹凸精品熟女在线观看| 亚洲男人天堂2019| 97资源亚洲| 日韩精品.久久精品.AV女优.天美传媒| 超碰吊日色| 97久精品| 黄片www视频免费| 欧美爆操91| 国产精品呦一区二区三区| 北野未奈加勒比av| 男男H黄动漫啪啪无遮挡网站| 老熟妇一区二区三区| 亚洲最大无码中文字幕网站 | 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 亚洲男人天堂视频| 99热9| 久久久久久网址| 91九色丨国产丨爆乳| 黄骗免费| 91劲爆| 97碰在线视频| 欧美亚洲系列| 熟妇人妻一区二区| 成人性爱av.com| 无码人妻丰满熟妇区毛片| 国产精品午夜高潮呻吟久久av| 久久久久白虎| 久久久穴999| 久久亚洲精品成人av| 少妇高潮一区二区三区在线| 天美国产三级传媒| 久久久99免费| 丰满人妻-区二区三区免费看| 岛国小电影| 亚洲 欧美 手机在线观看| 91熟女网| 久久人妻四季| 黄片免费久久久久久久| 欧美天天干| 今日头条成人一区二区三区四虎精品| 在线性黄高清免费视频|