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

ARTICLE DETAIL

資訊詳情

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

VS2010 下 CefSharp WinForms 嵌入與 JS 互調(diào)

VS2010 下 CefSharp WinForms 嵌入與 JS 互調(diào) 簡介面向仍在使用 VS2010 與 .NET Framework 4.0 的 WinForm 開發(fā)者這份示例工程演示如何借助 CefSharp.WinForms 49.0.1 把 Chromium 內(nèi)核嵌入桌面程序替代老舊的 WebBrowser 控件解決網(wǎng)頁兼容性與腳本交互能力不足的問題屬于可直接上手的中初級實戰(zhàn)參考。壓縮包共 319 個文件、約 189.28MB其中 174 個 pak 與 52 個 dll 構(gòu)成 CEF 運行時依賴與本地化資源另有 7 個 cs 源文件、2 個 csproj 工程及 xml、config、bin、exe 等配套項。代碼覆蓋 NuGet 引用配置、Cef.Initialize 初始化、ChromiumWebBrowser 控件創(chuàng)建、加載完成與狀態(tài)變更事件監(jiān)聽、ExecuteScriptAsync 執(zhí)行腳本、CefSettings 定制如禁用 GPU 加速、設(shè)置緩存路徑以及退出時調(diào)用 Cef.Shutdown 釋放資源。工程可直接編譯運行也可作為二次開發(fā)骨架已有 3432 人學(xué)習(xí)下載適合需要快速驗證內(nèi)嵌瀏覽器方案的 .NET 桌面開發(fā)者參考。1. 從一次白屏說起VS2010 .NET 4.0 下還能用的 CefSharp.WinForms 示例這份 C# WinForm CefSharp 示例代碼解決的是 VS2010 .NET 4.0 老項目里嵌一個 Chromium 瀏覽器控件的剛需。前陣子維護(hù)一個模擬項目X客戶端只能跑在 .NET 4.0 上業(yè)務(wù)頁面已經(jīng)是現(xiàn)代前端構(gòu)建出來的WebBrowser 控件一打開就腳本報錯換成 CefSharp 又連續(xù)白屏。后來把版本對齊、初始化順序、輸出目錄和 x86/x64 這幾件事拆開驗證才整理出一套能編譯、能加載本地 HTML、能做 C# 與 JS 互調(diào)的最小骨架。它適合還在維護(hù)老 WinForm 客戶端、不能隨便升級框架的人也適合想先跑通 CefSharp 再疊業(yè)務(wù)邏輯的開發(fā)者。下面按“選包、起工程、調(diào)生命周期、部署、排錯”的順序拆開講代碼按 VS2010 的 C# 4.0 語法寫不依賴 async/await。2. 版本對齊先確認(rèn) CefSharp 包里有 net40再談 WinForm 嵌瀏覽器2.1 為什么 VS2010 下不能隨便拿最新 CefSharp 包VS2010 自帶的是 .NET 4.0 和 C# 4.0這兩個約束會同時卡住 CefSharp 的托管層和示例代碼。CefSharp 的托管程序集有目標(biāo)框架要求較新的包往往把 lib 目錄切到 net45、net452 甚至更高直接引用會提示程序集依賴不兼容C# 4.0 又不支持 async/await網(wǎng)上大量 CefSharp 示例是 C# 5 以后的寫法復(fù)制進(jìn) VS2010 會直接編譯不過。另一個容易被忽略的是原生層CefSharp 依賴 libcef.dll、CefSharp.BrowserSubprocess.exe 和一整套 CEF 資源文件它們分 x86 和 x64項目平臺目標(biāo)設(shè)成 AnyCPU 時很容易把錯誤架構(gòu)的原生 DLL 帶進(jìn)進(jìn)程。我一般選包時先做三件事解壓 nupkg看 lib 目錄下有沒有 net40 或 net4.0 文件夾看 nuspec 里對 .NET Framework 的依賴再看 cef.redist.x86 / cef.redist.x64 包里是不是同時帶了托管 DLL 和原生文件。沒有 net40 目錄的包不要硬上換一個能對上的舊分支比后期改程序集綁定省事。版本號不必記直接看包內(nèi)目錄和 nuspec 最穩(wěn)。選好之后把 nupkg 當(dāng)壓縮包解壓手工引用 DLL比在 VS2010 里折騰老版本 NuGet 更可控。2.2 手工還原一個可編譯的工程骨架在 VS2010 里新建 Windows Forms Application目標(biāo)框架選 .NET Framework 4.0。進(jìn)配置管理器把平臺從 AnyCPU 改成 x86新建平臺時不要勾“創(chuàng)建解決方案的平臺”直接把當(dāng)前項目改成 x86。然后把 CefSharp 包里的 CefSharp.dll、CefSharp.Core.dll、CefSharp.WinForms.dll 加到引用引用屬性里的 Copy Local 設(shè)為 True。原生文件不通過引用走直接復(fù)制到項目下的 CefSharp 目錄再在項目里包含這些文件屬性設(shè)為“如果較新則復(fù)制”。!-- 項目文件里重點看這幾項等價于在 VS2010 屬性面板里設(shè)置 -- PropertyGroup TargetFrameworkVersionv4.0/TargetFrameworkVersion PlatformTargetx86/PlatformTarget Prefer32Bitfalse/Prefer32Bit /PropertyGroup這段配置的核心是 TargetFrameworkVersion 和 PlatformTarget。VS2010 的 WinForm 項目模板默認(rèn)可能是 AnyCPUCefSharp 在 64 位系統(tǒng)上會按進(jìn)程位數(shù)去找原生 DLL如果輸出目錄里只有 x86 的 libcef.dll就會出現(xiàn)進(jìn)程啟動后白屏或直接退出。Prefer32Bit 是給后續(xù)高版本 MSBuild 看的VS2010 下主要靠 PlatformTarget 控制。平臺目標(biāo)定下來之后輸出目錄只放對應(yīng)架構(gòu)的 CEF 文件不要 x86 和 x64 混放混放時誰先被加載看運氣玄學(xué)問題會很多。2.3 最小驗證先加載 about:blank再加載本地 HTML工程骨架起來后不要急著接業(yè)務(wù)頁面。先寫一個最小窗體在 Load 事件里動態(tài)創(chuàng)建 ChromiumWebBrowser加載 about:blank確認(rèn)能出空白頁而不是白屏。這個步驟能過濾掉大部分原生 DLL 和子進(jìn)程路徑問題。確認(rèn) about:blank 正常后再把 URL 換成 Application.StartupPath 下的 index.html。本地文件路徑用 file:/// 前綴反斜杠換成斜杠中文目錄先避開。private void MainForm_Load(object sender, EventArgs e) { // 先加載 about:blank確認(rèn) CefSharp 原生層和子進(jìn)程都正常 var browser new ChromiumWebBrowser(about:blank); browser.Dock DockStyle.Fill; this.Controls.Add(browser); // 原生層確認(rèn)后再換成本地 HTML string htmlPath Application.StartupPath.Replace(\\, /) /index.html; browser.Load(file:/// htmlPath); }這段代碼沒有用設(shè)計器拖控件原因是 ChromiumWebBrowser 在設(shè)計時初始化會拉子進(jìn)程VS2010 設(shè)計器經(jīng)常直接崩。動態(tài)創(chuàng)建放在 Form.Load 里設(shè)計器只看到普通窗體打開設(shè)計器不會觸發(fā) Cef 初始化。Dock 設(shè)為 Fill 讓瀏覽器鋪滿窗體Load 方法傳 URL 即可。如果 about:blank 都白屏先別改代碼去輸出目錄檢查 libcef.dll、CefSharp.BrowserSubprocess.exe 和 locales 是否齊全再看項目平臺目標(biāo)和 DLL 架構(gòu)是否一致。3. 把瀏覽器控件用起來初始化順序、生命周期和 C# 與 JS 互調(diào)3.1 Cef.Initialize 和 Cef.Shutdown 的配對Cef.Initialize 建議放在 Program.Main 里、Application.Run 之前并且全進(jìn)程只調(diào)用一次。常見錯誤是在窗體構(gòu)造函數(shù)里初始化每開一個窗體調(diào)一次第二次就拋異常或者初始化放在 Load 里子進(jìn)程路徑還沒準(zhǔn)備好。初始化參數(shù)里 BrowserSubprocessPath 必須指向輸出目錄下的 CefSharp.BrowserSubprocess.exeCachePath 和 UserDataPath 指向有寫權(quán)限的目錄。老項目裝在 Program Files 下時Application.StartupPath 往往不可寫緩存會靜默失敗表現(xiàn)就是頁面加載一半或登錄態(tài)丟失。[STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // 舊分支的 JS 綁定開關(guān)必須在 Cef.Initialize 之前設(shè)置 CefSharpSettings.LegacyJavascriptBindingEnabled true; var settings new CefSettings(); settings.BrowserSubprocessPath Path.Combine(Application.StartupPath, CefSharp.BrowserSubprocess.exe); settings.CachePath Path.Combine(Application.StartupPath, Cache); settings.UserDataPath Path.Combine(Application.StartupPath, UserData); settings.Locale zh-CN; settings.LogSeverity LogSeverity.Info; settings.LogFile Path.Combine(Application.StartupPath, cef.log); try { Cef.Initialize(settings); } catch (Exception ex) { MessageBox.Show(Cef 初始化失敗 ex.Message); return; } Application.Run(new MainForm()); }參數(shù)里 BrowserSubprocessPath 是最容易漏的不設(shè)時 CefSharp 會按默認(rèn)規(guī)則找子進(jìn)程部署目錄一變就找不到。CachePath 和 UserDataPath 分開緩存和用戶數(shù)據(jù)不要塞進(jìn)只讀目錄。Locale 設(shè)成 zh-CN 對中文界面和輸入法更穩(wěn)。LogSeverity 和 LogFile 是排錯用的白屏?xí)r先看 cef.log 里有沒有“failed to load libcef”或子進(jìn)程啟動失敗。CefSharpSettings.LegacyJavascriptBindingEnabled 只對舊版 RegisterJsObject 生效新版綁定 API 不需要但老分支不設(shè)置會報對象未定義。3.2 ChromiumWebBrowser 的創(chuàng)建時機與釋放ChromiumWebBrowser 的創(chuàng)建放在窗體 Load 事件里比較穩(wěn)FormClosing 里先 Dispose 瀏覽器再 Cef.Shutdown。順序反了會出現(xiàn)關(guān)閉窗體后 CefSharp.BrowserSubprocess.exe 還在任務(wù)管理器里第二次打開程序連不上子進(jìn)程。Dispose 之后把引用置空避免 FormClosing 被多次觸發(fā)時重復(fù)釋放。如果窗體里有多個瀏覽器實例每個實例都要 Dispose但 Cef.Shutdown 全進(jìn)程只調(diào)一次。private ChromiumWebBrowser browser; private void MainForm_Load(object sender, EventArgs e) { browser new ChromiumWebBrowser(about:blank); browser.Dock DockStyle.Fill; this.Controls.Add(browser); } private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { if (browser ! null) { browser.Dispose(); browser null; } Cef.Shutdown(); }這段代碼的關(guān)鍵是生命周期配對。Load 里創(chuàng)建FormClosing 里釋放Cef.Shutdown 放在窗體關(guān)閉時而不是 Application.Exit 事件里避免窗體還沒釋放就先關(guān) Cef。Dock 設(shè)為 Fill 后不需要再調(diào) Anchor。如果窗體里還有其他控件建議給瀏覽器一個 Panel 容器瀏覽器 Dock 到 Panel業(yè)務(wù)控件放在 Panel 外面后面換皮膚或加工具欄時不用改瀏覽器布局。3.3 JS 調(diào) C#RegisterJsObject 的綁定時機與命名舊分支常用 RegisterJsObject 把 C# 對象暴露給頁面。綁定要放在瀏覽器創(chuàng)建之后、頁面 Load 之前綁定太晚頁面腳本已經(jīng)執(zhí)行完window.bridge 就是 undefined。第三個參數(shù) camelCaseJavascriptNames 決定 C# 方法名是否轉(zhuǎn)成首字母小寫傳 false 時 JS 里保持 C# 原名傳 true 時 GetVersion 變成 getVersion。這個參數(shù)和前端約定必須一致否則前端按小寫調(diào)、后端按大寫綁控制臺只會報未定義。public class JsBridge { public string GetVersion() { return 1.0; } public void Notify(string message) { // JS 調(diào)用可能不在 UI 線程更新控件前用 BeginInvoke } } private void MainForm_Load(object sender, EventArgs e) { browser new ChromiumWebBrowser(about:blank); browser.Dock DockStyle.Fill; this.Controls.Add(browser); // 第三個參數(shù) falseJS 里用 window.bridge.GetVersion() browser.RegisterJsObject(bridge, new JsBridge(), false); browser.Load(file:/// Application.StartupPath.Replace(\\, /) /index.html); }JsBridge 里的方法盡量簡單參數(shù)用 string、int、bool 這類基礎(chǔ)類型復(fù)雜對象讓前端序列化成 JSON 字符串再傳減少綁定層序列化差異。Notify 里如果要更新 WinForm 控件不要直接改JS 調(diào)用線程不一定是 UI 線程用 BeginInvoke 包一層。注冊對象名不要用 window、document 這類保留字也不要和頁面已有全局變量重名重名時頁面自己的對象會被覆蓋排查起來很費時間。3.4 C# 調(diào) JS不用 async/await 的 EvaluateScriptAsync 寫法VS2010 的 C# 4.0 不支持 async/await但 EvaluateScriptAsync 返回的是 Task可以用 ContinueWith 接。回調(diào)里判斷 task.IsFaulted、task.IsCanceled再取 task.Result.Success 和 task.Result.Result。ContinueWith 的第二個參數(shù)傳 TaskScheduler.FromCurrentSynchronizationContext()讓回調(diào)回到 UI 線程避免在回調(diào)里直接操作控件時拋跨線程異常。這個寫法比 Thread.Sleep 等頁面加載可靠得多。private void ReadDocumentTitle() { browser.EvaluateScriptAsync(document.title).ContinueWith(task { if (task.IsFaulted || task.IsCanceled) { return; } var response task.Result; if (response.Success) { MessageBox.Show(Convert.ToString(response.Result)); } }, TaskScheduler.FromCurrentSynchronizationContext()); }EvaluateScriptAsync 的參數(shù)是 JavaScript 表達(dá)式返回值會走 JSON 序列化字符串、數(shù)字、布爾值都能直接轉(zhuǎn)DOM 對象不要直接返回先轉(zhuǎn)成 JSON.stringify 再傳回來。ContinueWith 里不要假設(shè) task.Result 一定不為空腳本拋異常時 Success 為 falseResult 可能是 null。需要連續(xù)調(diào)多個腳本時不要嵌套 ContinueWith容易把線程調(diào)度繞暈拆成多個方法按業(yè)務(wù)順序調(diào)或者在前端用一個初始化完成標(biāo)記C# 側(cè)只探這一個標(biāo)記。4. 部署不是復(fù)制一個 exe輸出目錄、x86/x64 與 VC 運行時的核對表4.1 輸出目錄該放哪些文件CefSharp 的部署目錄不是只有一個 exe托管 DLL、原生 DLL、子進(jìn)程、資源文件、語言包都要在。不同分支文件名單會變最穩(wěn)的辦法是看 cef.redist 包里的 README 或示例輸出目錄把那一套整體復(fù)制過來再刪掉不需要的語言包。下面這張表是常見必須項用來核對有沒有漏不是固定清單。文件或目錄作用常見漏法CefSharp.dll托管公共接口只引用了 WinForms 包漏了公共接口CefSharp.Core.dll托管核心引用有輸出目錄沒有CefSharp.WinForms.dllWinForms 控件項目引用正常發(fā)布時漏復(fù)制CefSharp.BrowserSubprocess.exe瀏覽器子進(jìn)程沒設(shè) BrowserSubprocessPath或沒復(fù)制libcef.dllCEF 原生核心架構(gòu)不對或被殺軟隔離chrome_elf.dll加載與崩潰輔助只復(fù)制 libcef.dll漏了它icudtl.datICU 數(shù)據(jù)頁面中文亂碼或直接白屏natives_blob.bin、snapshot_blob.binV8 快照啟動時報快照加載失敗locales 目錄語言包只放 en-US.pak中文環(huán)境異常swiftshader 或 d3dcompiler_47.dll軟件渲染與圖形依賴虛擬機或無 GPU 環(huán)境黑屏核對時不要只看項目引用列表要看 bin 目錄實際輸出。VS2010 里非引用文件靠“復(fù)制到輸出目錄”屬性控制有時候文件在項目里屬性還是“不復(fù)制”調(diào)試時從 obj 目錄能跑發(fā)布就缺文件。建議在項目里建一個 CefSharp 文件夾把原生文件全部放進(jìn)去屬性統(tǒng)一設(shè)成“如果較新則復(fù)制”發(fā)布時整目錄帶走。4.2 平臺目標(biāo)與原生 DLL 架構(gòu)AnyCPU 為什么容易翻車AnyCPU 在 64 位系統(tǒng)上默認(rèn)跑 64 位進(jìn)程但很多 CefSharp 包默認(rèn)帶的是 x86 原生文件進(jìn)程位數(shù)和 DLL 架構(gòu)對不上libcef.dll 加載失敗表現(xiàn)就是窗體出來但瀏覽器區(qū)域全白。反過來項目設(shè)了 x64輸出目錄卻是 x86 的 cef.redist也一樣白屏。排查時先看任務(wù)管理器里進(jìn)程有沒有“32 位”標(biāo)記再用 dumpbin 看 libcef.dll 的 machine 字段兩邊必須一致。:: 在 Visual Studio 命令提示符里執(zhí)行查看 libcef.dll 是 x86 還是 x64 dumpbin /headers libcef.dll | findstr machine輸出里 14C 表示 x868664 表示 x64。項目平臺目標(biāo)設(shè) x86 時輸出目錄只放 x86 的 CEF 文件設(shè) x64 時只放 x64。不要為了兼容兩種機器在一個目錄里混放CefSharp 不會自動按位數(shù)切目錄混放時加載到哪個看文件系統(tǒng)順序。確實要同時支持 32 位和 64 位就出兩個安裝包或者啟動器里判斷 IntPtr.Size 后切工作目錄普通業(yè)務(wù)客戶端沒必要做這么復(fù)雜。4.3 VC 運行時與日志白屏?xí)r先看 cef.logCEF 原生層依賴 VC 運行時缺運行庫時進(jìn)程可能直接退出也可能彈一個系統(tǒng)錯誤框后白屏。不要憑記憶裝年份用 Dependencies 或 dumpbin /dependents 看 libcef.dll 依賴哪些 msvcp、vcruntime缺哪個裝哪個x86 和 x64 分開裝。裝完重啟一下客戶端再做驗證有時候運行庫剛裝完當(dāng)前進(jìn)程還沒重新加載。var settings new CefSettings(); settings.LogSeverity LogSeverity.Info; settings.LogFile Path.Combine(Application.StartupPath, cef.log);日志文件要放在有寫權(quán)限的目錄Program Files 下普通用戶不可寫時日志不會生成看起來像“沒日志”實際是寫不進(jìn)去。cef.log 里重點看 libcef.dll 加載路徑、BrowserSubprocess 啟動參數(shù)、GPU 初始化失敗、字體加載失敗。GPU 相關(guān)報錯可以先加settings.DisableGpu true驗證是不是顯卡驅(qū)動或虛擬機渲染問題確認(rèn)后再決定是否長期禁用。日志級別不要長期開 Verbose文件漲得很快排完障改回 Info 或 Disable。5. 避坑與排查白屏、設(shè)計器閃退、JS 未定義、進(jìn)程殘留的 5 條記錄5.1 設(shè)計器一打開就崩別把 ChromiumWebBrowser 拖進(jìn)設(shè)計器現(xiàn)象是雙擊 MainForm.cs 進(jìn)設(shè)計器VS2010 停幾秒后直接退出或者彈“未將對象引用設(shè)置到對象的實例”。原因是 ChromiumWebBrowser 在設(shè)計時也會走構(gòu)造函數(shù)觸發(fā) Cef 初始化和子進(jìn)程創(chuàng)建設(shè)計器進(jìn)程里沒有完整的 CEF 運行環(huán)境直接崩。解決方式是窗體上不放瀏覽器控件在 Load 事件里用代碼創(chuàng)建設(shè)計器里只留一個 Panel 占位。已經(jīng)拖進(jìn)去的把控件從設(shè)計器刪掉構(gòu)造函數(shù)里的初始化代碼移到 Load 里重新生成后再開設(shè)計器。5.2 運行后白屏或黑屏先查 libcef.dll 和架構(gòu)現(xiàn)象是窗體正常出來瀏覽器區(qū)域全白cef.log 里可能有“failed to load libcef.dll”或“browser subprocess exited”。原因按概率排輸出目錄沒有 libcef.dlllibcef.dll 架構(gòu)和進(jìn)程位數(shù)不一致BrowserSubprocessPath 沒設(shè)置或路徑不對VC 運行時缺失。解決順序是先看輸出目錄文件齊不齊再用 dumpbin 看架構(gòu)然后確認(rèn) BrowserSubprocessPath 指向?qū)嶋H exe最后用 Dependencies 查 libcef.dll 的依賴。四項都過還白屏把 LogSeverity 開到 Verbose看日志里第一個 error 出現(xiàn)在哪一步不要從最后一個報錯往前猜。5.3 編譯報 async/await 錯誤VS2010 的 C# 4.0 不認(rèn)現(xiàn)象是從網(wǎng)上復(fù)制的 CefSharp 示例粘貼進(jìn)項目后async、await關(guān)鍵字下面全是紅線錯誤提示“找不到類型或命名空間名稱 async”之類。原因是 VS2010 默認(rèn) C# 4.0async/await 是 C# 5 才有的語法。解決方式不是硬升框架而是把異步調(diào)用改成 ContinueWith 寫法EvaluateScriptAsync 返回 Task用 TaskScheduler.FromCurrentSynchronizationContext() 回 UI 線程。如果項目里大量 async 代碼考慮單獨抽一個 C# 5 的輔助程序集但老項目里通常不值得按最小改動改成回調(diào)更穩(wěn)。5.4 JS 調(diào)用 C# 報 undefined綁定時機和命名踩坑現(xiàn)象是頁面控制臺報window.bridge is undefined或者bridge.GetVersion is not a function。原因常見三種RegisterJsObject 在頁面 Load 之后才調(diào)用camelCaseJavascriptNames 參數(shù)和前端調(diào)用大小寫不一致LegacyJavascriptBindingEnabled 沒在 Cef.Initialize 之前打開。解決方式是先確認(rèn)綁定代碼在 Load 之前執(zhí)行再在頁面里打印Object.keys(window.bridge)看實際暴露了哪些方法最后核對注冊時第三個參數(shù)。舊分支的 RegisterJsObject 對綁定對象名敏感名字里不要帶點、橫線前端調(diào)用時對象名和方法名分開檢查。5.5 關(guān)閉窗體后進(jìn)程殘留Cef.Shutdown 與 Dispose 的順序現(xiàn)象是主窗體關(guān)了任務(wù)管理器里 CefSharp.BrowserSubprocess.exe 還在再次啟動程序時頁面加載失敗或直接白屏。原因是 ChromiumWebBrowser 沒 Dispose或者 Cef.Shutdown 調(diào)用太早/太晚子進(jìn)程沒收到退出信號。解決方式是在 FormClosing 里先 browser.Dispose()把引用置空再 Cef.Shutdown()。如果窗體是多文檔結(jié)構(gòu)每個瀏覽器實例都要 DisposeCef.Shutdown 只調(diào)一次。調(diào)試時可以在 Shutdown 前后打日志確認(rèn)順序不要用 Application.Exit 直接殺進(jìn)程。6. 進(jìn)階技巧用 BrowserInitializedChanged 和請求頭把老控件跑穩(wěn)老項目里最容易寫壞的是“等頁面加載”這段邏輯。很多人用 Thread.Sleep(3000) 然后 EvaluateScriptAsync機器慢的時候頁面沒好機器快的時候白等三秒。我一般用 BrowserInitializedChanged 事件確認(rèn)瀏覽器底層初始化完成再用 FrameLoadEnd 判斷主框架加載結(jié)束最后用 EvaluateScriptAsync 探 document.readyState。三層判斷比固定睡眠穩(wěn)也不會把 UI 線程卡住。下面這段只保留關(guān)鍵分支事件簽名以你包內(nèi) API 為準(zhǔn)。browser.BrowserInitializedChanged (sender, args) { if (!browser.IsBrowserInitialized) { return; } // 初始化完成后再加載業(yè)務(wù)頁面避免在 about:blank 階段搶跑 browser.Load(file:/// Application.StartupPath.Replace(\\, /) /index.html); }; browser.FrameLoadEnd (sender, args) { if (!args.Frame.IsMain) { return; } // 主框架加載完再探 readyState比固定 Sleep 可靠 browser.EvaluateScriptAsync(document.readyState).ContinueWith(task { if (task.IsFaulted || task.IsCanceled || !task.Result.Success) { return; } // 這里的返回值可以記日志也可以觸發(fā)后續(xù)業(yè)務(wù)初始化 }, TaskScheduler.FromCurrentSynchronizationContext()); };另一個實用技巧是給所有請求加自定義頭。老客戶端經(jīng)常需要后端識別“這是 WinForm 內(nèi)嵌瀏覽器”但又不想改頁面代碼。在自定義 IRequestHandler 的 OnBeforeResourceLoad 里給 request.Headers 塞一個固定鍵值返回 false 表示繼續(xù)請求。這樣后端按頭分流前端頁面不用動。注意舊分支 IRequestHandler 接口成員較多除了關(guān)鍵方法其余成員按接口定義返回默認(rèn)值不要只實現(xiàn)一個方法就編譯。public class CustomRequestHandler : IRequestHandler { public bool OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback) { // 給每個請求打標(biāo)后端據(jù)此識別客戶端類型 request.Headers[X-Client] WinFormCef; return false; } // 其余接口成員按包內(nèi)定義補全默認(rèn)返回 false 或繼續(xù) }緩存目錄也值得單獨說一下。默認(rèn)把 CachePath 放在 Application.StartupPath 下調(diào)試時沒問題裝到 Program Files 后普通用戶沒有寫權(quán)限緩存寫入失敗不一定報錯表現(xiàn)是頁面加載慢、登錄態(tài)丟、靜態(tài)資源重復(fù)下載。我一般把 CachePath 和 UserDataPath 改到 LocalApplicationData 下按產(chǎn)品名建子目錄啟動時先 Directory.CreateDirectory再傳給 CefSettings。這樣升級安裝包不會把緩存清掉也不會因為權(quán)限問題出現(xiàn)“有時好有時壞”的玄學(xué)。驗證時加載一個帶版本號的靜態(tài)頁刷新兩次看 Network 里有沒有 304或者看緩存目錄有沒有實際文件生成。從那以后我每次接老 WinForm 嵌瀏覽器的活都先做一個只有 about:blank 的最小 Demo確認(rèn) libcef.dll 架構(gòu)、BrowserSubprocessPath、VC 運行時和 Cef.Shutdown 這四件事都過再往里面疊業(yè)務(wù)頁面和 JS 互調(diào)。最小 Demo 跑不通時不要改業(yè)務(wù)代碼先看 cef.log 和輸出目錄能省掉大量來回猜的時間。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲少妇中文字幕网址| 91n美女视频| 亚洲国产丝袜在线观看| 天天视频黄网站| 91宗合网| 18精品一二区| 欧美精品成人在线播放| 尤物网址| 粉嫩av平台| 欧美淫乱视频| 精品久久久不卡一区二区| 91九九| 岛国福利在线精品播放| 夜夜欧美| 天堂网亚洲区手机版| 人妻熟女字幕一区二区| 国产精品一区二区黄片| 狠狠狠狠狠| 久久精品亚洲成a人天堂| 天天日夜干| 日本精品九九九| 久久久久久久久久久久久久久乱码 | 天天天操天天天爱| 嗯嗯,好大,好爽,好骚| 激情综合五月婷婷| 91久操| 99久久e免费热视| 翔田千里无码中出中文字幕| 国产精品原创巨作?v网站| 亚洲资源站| 欧美综合1性辶| 亚洲综合射| 中出789在线视频| 中文伊人大香蕉视频| 日本免费亚洲欧美| 激情久久久| 久久人妻四季| 日日日日做夜夜夜夜做无码97| 久久e6只有精品| 91 刺激在线| 日韩性爱播放| 欧美黄片视频在线观看免费 | 中文字幕日韩电影人妻| 日韩字幕一区| av天堂精品久久| 国产精品区在线12p| 亚洲精品97久久| 天天综合色图| 在线毛片片免费观看| 日韩成人性日韩成人性爱视频在线免费观看 | 俞拍久久国应视频| 天天日天天干天天色| 在线强奷到舒服的无码视频 | 免费成人在线熟妇网| 欧美色图 人妻| 色综合超碰超| 大香蕉懂9| 夜夜嗷嗷一区二区| 免费在线看黄片av| 午夜福利 成人 91| 久久狠狠色噜噜狠狠狠狠97| 丁香婷婷啪啪| 色婷婷五月综合激情中文字幕| 久久‘黄片视频| 99啪啪| 精品久久久久久亚洲| 日本天天人人狠狠在线日美女 | 婷婷五月天激情四射| 一区超碰一区| 免费a v| 亚洲AV无码乱码| 欧美性爱18观看| 1769精品一区二区三区| 欧美最婬乱婬爆婬性视频 | 囯产精品久久久久久久久久二区三区| 久久黄色视频一区二区三区| 亚洲免费人妻在| 成人精品电影| 97久久天天综合色天天综合色电影| 久久久涩| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 亚欧高清在线| 久插综合| 一区二区影视| 亚洲国产激情国产av| 伊人丁香五月婷婷| 岛国1区2区3区在线观看| 人人插人人搞人人操| 啊…啊…操我用力操我| 久久精品91| 97亚洲欧美| wwwcaobibi| 殴美,日韩国产伦精品| 精品久久9| 蜜臀久久久99久久久久| 国产原创自拍| 后入精品| 日本三级韩三级99久久| 足交视频老司机| 9久久精品| 国产日韩欧美亚洲精品95| 大香蕉伊人色偷偷在线| 夜夜高潮夜夜爽夜夜爱爱一区| 天天躁日日躁成人字幕aⅴ| 婷婷亚洲色| 久久久久元码视频| 蜜乳av一区二区| 麻豆区99999| 91亚洲情色| 色情综合网| 国产人妻精品一区二区三区秋霞| 少妇一区二区三区高速| 久久国99999| 婷婷丁香九月| 日本欧美成人片AAAA| 一道本东京热加勒比一区二区三区| 后入式999| 伦激情人妻另类人妻| 69精品少妇一区二区三区蜜桃| 男人的天堂激情| 日日干夜夜骑| 国产 码在线成人网站| 91男同| 色天使亚洲综合在线观看| 天天摸夜夜摸| 一区二区三区黄色片a| 蜜桃视频一区二区三区在线观看| 四虎午夜影院| 亚洲国产青青| 人人考人人摸人人干| 懂色av中文字幕一区二区三区天美| 色色色日本| 青青草伊人久久| 无码久久亚洲高清,| 97色97好| 亚洲毛片一级带毛片基地| 日韩电影天堂视频二区三区| 国产精品久久久久亚洲av| 北条麻妃性愛视频| 性做久久久久久久| 九九九九免费| 国产午夜视频| 国产吞精a级片激情电影| 五月天亚洲网| 色婷婷婷五月天激情四射| 26uuu性物| 国内外内射高清视频| 国产日韩精品一区二区三区| 国产日韩欧美中文在线播放| 超碰到97情色| 亚洲激情久久| 精品日韩中文在线| 欧美图片校园春色| 天综合网| 国产精品亚洲高清在线| 青青操日韩| 激情六月天| 国产成年女黄特黄| 久草加勒比一区在线| 国产91美女高潮| 欧美人人曰人人操人人射射| 九草九九九| 激情四射婷婷四五月天| 午夜欧美女人操逼| 91日产欧美| 日本操逼aaaaa| 亚洲宗合网| 国产有码一区| 日本午夜久久电影| 亚洲色婷婷久久91| 男人天堂久久精品不卡| 精品福利视频| 97精品国产97久久久久久免费| 亚洲中文字幕一区二区| 日韩精品资源专区二区| 玖玖超碰熟| 一区二区三区精品黑丝白丝酒店对鸡 | 最新日产中文在线麻豆| 九九九久久久| 91情色在线| 精彩国产视频播放1区2区| 久久久亚洲欧美综合| 久久久精精精| 人妻少妇无码| 伦在线97| 亚洲欧美色图小说| 91熟女视频网| 好爽免费视频,| 精品女人999| 久热香蕉精品在线视频| 亚洲春色欧美激情自拍| 开心六月色| 午夜福利成人免费视频| 伊人热综合| 九99久久| 蜜桃久久一区二区| 亚洲av性爱电影| 色五月激情网| 激情色图| 亚洲涩图欧美| 草草影院日本第一页| 色欲人妻一区二区在线| 人人贴人人摸| 色色婷| 亚洲综合色图欧美| 国产久久久久久| 影音先锋视频在线| 日韩在线97| A片 AV一级在线播放观看免费 | 欧日韩不卡视.频| 五月天激情四射| 操我无码| 性爱精品一区| 人妻AV 中文字幕的| 国产毛片精品一区二区色欲黄A片| 天天色综亚洲91污| 欧美精品在线观看| 亚洲男人的天堂AV| 超碰97在线中文| 91在线/欧洲| 超碰久在线天天做| 破处bbq| 亚洲综人网| 欧美日综合| 91n欧美| 97无码视频在线播放| 亚洲Av诱惑| 日韩性爱1级片视频| 久久中文字幕一区不卡| 国产中文大片资源中文字幕| 国产粉嫩出水在线播放| 九九在线精品| 亚洲综合九| 人妻熟女一区二区| AV和黑人在线播放| 国产亚洲精品无码三区| 涩五月婷婷| 91最新综合| 亚洲欧美日韩国产丝袜自拍中文| 91中出在线| 欧美性xxxxx狂欢| av一区二区三区不卡| 黑人白女精品一区| 欧美亚洲日韩人妻在线观看| 啊啊啊好舒服好爽啊啊啊视频| 新视频sss国产| 久久98| 97爱爱影院| 粉嫩少妇自慰在线| 九久久九九久视频| 免费在线黄片视频| 久久香蕉国产线看观看猫咪av| a一区二区三区乱码在线| 国产 日韩 欧美高清| 国产AV超爽| 在线 亚洲 网爆 自拍| 老女人老91妇女老热女| 久久久久白虎| 欧美一级做a爰片免费视频| 91丝袜美女| 玖玖综合视频| 人人妻人射| 超碰爽人妻熟女Av| 99热婷婷一区二区三| 欧美爆乳精品一区二区| 欧美性特| 天天cao在线| 校园春色亚洲色图| 国产精品免费久久久久久久久久| 乱伦AVxx| 亚洲偷拍欧美激情| 亚洲精品尤物yw在线影院| 亚洲国产激情国产av| 搞中出视频在线观看| 易易A毛视频| 成人免费福利在线观看| 欧美少妇性乱| 国产在线视频二区| 男人网站婷婷| 色操逼网| 日本精品免费一区二区三区四区| 中文字幕人妻资源在线| 蜜桃臀 后入 一区 二区 三区 在线| 国产日韩美女小穴视频网站不卡| 国产高清在线观看欧美| 日本东京热大香蕉a片| 亚洲色狠| av中文字幕在线熟女| 91综合天天看| 自拍鲍鱼一区在线高清观看免费| 久久精品人妻一区二区三区| 久久久久久久国产视频| 日韩精品9区| 日韩美女操b| 天堂资源站| 午夜操逼不卡| 美国三级日本三级久久99| 黑人白女精品一区| 国产精品久久久久久久免牛肉蒲团 | 欧美情色贴图| 亚洲精品精品一区二区| 日本天天干天天日一区| 69精品久久久久中文字幕| 久久久一区二区| 乱伦AVxx| 久九色| 国产久久久9999| 为用户提供免费看黄网址在线观看| 久草色悠悠在线视频| 五十路六十路七十路熟婆| 欧美色图偷拍另类| 久久久无码av精| 男人的天堂三级| 美女主播色欲91抠b在线播放| 欧美一级A一级a爱片久久| 亚洲 欧美 中文 日韩超碰| 久久免费少妇| 精品无码一二三四区| 精品亚洲黄色片 国产精品导航一区二区 | 区一二区日韩亚洲乱码av电影| 久久91| 91麻豆天美传媒HD| 亚洲精品亚洲人成在线麻豆| 啊啊啊啊啊啊啊啊在线观看| 爱欲AV| 午夜影美女日鸡鸡天天视频国产| 人人妻人人玩人人澡人人爽| 色综合20p| 色婷婷六月| 国产欧美日韩臀| 葡萄牙性视频一二区| 久久性爱视频| 啊啊啊在线观看| 亚洲 欧美 小说| 日韩性爱播放| 日韩Va亚洲va欧美Ⅴa久久| 日本亚洲嫩草影院啪啪| 国产传媒美日韩av| 91狠狠综合久久| 高清孕妇孕交 交孕妇| 亚洲少妇色| 有码人妻系列| 国产一区二区三区精品观看啪| 日逼97| 日逼五月天| 日本肏逼视频在线观看| 日韩美女啪啪一区| 亚洲欧美另类小说| 日韩 女同 综合| 超AV色女| 色婷婷丁香五月| 小视频玖玖| 91丝袜在线观看| 美国三级日本三级久久99| 久久一留热品黄| 精品-91人妻子系列| 操国产逼| 综合久久97| 大粗鳼巴久久久久| 亚洲色天堂九9| 天操老女人| 日本不卡码黄色| 91在线色综合| 色九九综合| 国产麻豆一级精品视频| 日韩操逼HD| 在线观看不卡一区二区三区| 欧美色女人| 欧美中文综合| 日本欧美中文字幕| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 欧美双插| 久久一区二区蜜桃| 麻豆精品.欧美精品.日韩精品.| 国产精品3| 成熟熟女国产精品一区二区| 欧美白嫩女HD| 亚洲自拍另类丝袜综合| 综合久欧洲| 超碰爽人妻熟女Av| 狼人综合婷婷激情四射 | 欧美激情 亚洲色图| 人妻内射一区二区在线视频| 夜夜福利| 中文字幕免费看| 欧美熟女操屄| 亚洲国成人情色好看电影| 女同在线视频一区| 91最新综合| 久婷婷一区| 欧日韩在线观看| 白天啪啪晚上啪啪视频| 男女激情黄色网址| 欧美性爱伊人| 国产精品亚洲免费| 韩国久久97| 青青11操操操操操操操操| 日韩av女优在线免费一区| 99激情| 少妇高潮99p| 日本一区二区三区欧美日韩中文字幕| 夜夜操夜夜爽夜夜高潮| 国产风韵犹存熟妇三区| 自拍六区| 人人 操人人 操人人| 国产精品欧美日韩久久| 天天日夜夜爽| 久久综合久久综合人久久夜精品| 性生活无遮挡纯毛片在线看| av橘色网站| 九九热九九| 日韩视频精品在线观看| 久草免费在线一区二区| 国产在线播放成人免费| 超碰美国| 精品无码久久久久久久杏吧| 日本性爱少妇| 久久9 9 9精品| 1204av韩国| 超碰色大香蕉| 成人乱人伦一区二区| 欧美性爱系列| 久久国产对白激情浪潮 | 天天视频黄| 蜜桃精品视频一区二区三区| 精…码一二三区| av天堂精品久久| www.色婷婷| 综合网久久| 视频在线观看青青99国产| 一区二区三| 欧美久久伊人| 热热热热日日漂亮永久永久国产日| 99热这里只有精品1| 人人摸人人入| 亚洲不卡AV在线| 亚洲欧美日韩电影网站一区| 无码动漫av中文字幕| 欧美婷婷五月天| 久久久中文版| 久久精品福利影院| 日本丝袜美腿人妻九九| site:sinbotex.com| 欧美日本国产日韩激情视频| 人人澡综合涩| 你懂的在线观看区国产| 无码9区| 久久精品国产97欧美精品亚洲| 内射小黄片| xxx亚洲午夜天堂| 操熟女91| 中文字幕成人| 91男人综合| 欧美色性爱| 99热导航| 91午夜无码| 中文字幕88av在线| 久久黄片国产一区二区| 中文字幕天天天天天| 九热中文字幕| 校园春色综合| 大JI巴好深好爽又大又粗视频| AA丁香综合激情| 四虎884| 99久久久无码国产精品性男| 久久宗合亚洲| 国产在线视视频有精品| 激情四射婷婷六月天| 国产精品麻豆视频网站| 中文字幕第23区| 欧美天天干| 人妻内射一区二区在线视频| 日本高清_区二区三区| 91 丝袜在线观看| 久久香蕉综合一本到3atv| 大干人妻| 91欧美| 91 丝袜在线播放| 德国一二三不卡| 九九九精品成人免费视频小说| 午夜久久一区二区无码中出| 婷婷亚洲综合| 97久久国产精品女不卡| 嗯啊啊啊轻点视频 | 综合五月婷婷亚洲一区| 欧美专区17页| 一区二区激情国产熟女| 欧美一级A一级a爱片久久| 国产久久久9999| 国产家庭乱伦表演| 亚洲精品白丝| 99操| 国产精品久久久久久久AV大片| 午夜后入| www久| 日韩欧无码一区二区三区免费不卡| 天天操天天射青青草| 国产一区二区三三视频| 夜夜春夜夜操| 日本不卡高清免v欧美日韩在线观看| 日韩操p| av草草在线电影| 91校园春色长篇| 成人影院永久免费观看网址| AV男人天堂网| 又大又长又爽| 91干熟女| 日韩精品国产一区二区| 91成人无码| 亚洲青色欧美| 涩五月婷婷| 国产亚洲精品A在线观看下载| 久久成人午夜狠狠| 国产精品久久久亚洲一区| 性爱乱伦视频免费| 999久久久国产精品| 欧美精品 - 91爱爱| 激情婷婷五月天| 91在线超高颜值国产| 91模特在线观看| 天天综合网在线| 色九月| 99久久婷婷丁香| 五月天亚洲色图| 91操人| 亚洲综合在线高清| 亚洲色五月| 欧美,日韩综合久久| 国产不卡中文字幕免费avi| 天天看天天干| 黄色工厂这里只有精品| 97热视频在线观看| 91neishe| 嫩草一区二区在线观看| 人人操人人摸avav| 亚洲国产熟妇综合色专区| 精品人妻伦一区二区三区久久| 男女打扑克高清网站| 国产乱伦一二三区| 两性色网| 亚洲国产精品9999在线观看| 欧美十八禁视频| 欧美激情一区| 97在线看| 99re免费| 超碰97人妻| 不卡视频一区蜜桃视频 | 亚洲五码一区二区三区| a一区二区三区乱码在线| 91精片| 日本色日夜干| 天天肏天天干| 97干色| 成人久久久| 天天操妹子| 91N综合网| 91色欧美| 亚洲精品人体| 美女被啪到深处抽搐视频| 精品91日日夜夜超清资源| 日韩久射综合| 九九九九九九视频免费| 搡老女人老91妇女老熟女| 亚洲天天操| 国产深夜福利| 白丝被操91| 俄罗斯一区二区视频在线观看| 亚洲av国产av综合av卡| 在线观看无码三级少妇| 日韩不卡在线一区二区| 强免费黄色网址| 婷婷色影院| 先锋精品av色鲁| 亚洲AV无码| 欧美人妻色| 粉嫩久久久极品| 国产嫩草精品A88AV| 性性久久| 亚洲一区二区中文字幕| 日韩免费高清大片在线| 91人妻精华帖| 亚洲精品日日夜夜52| 99自拍视频在线| 超碰97爽| 亚洲性猛交| 男人的天堂三级| www.男人的天堂| 午夜男女爽爽爽影院视频| 欧美黄色大片在线观看 | 白丝1区2区3区| 九九亚洲精品| 国产嫩草精品A88AV| 电家庭影院午夜69久久夜色精品国产69乱| 国产成人亚洲精品无码最新在线| 日韩欧美午夜视频在线| 人妻久久久久久久久久久久久久久| 嗯嗯嗯,草死我| 美女91色黄18| 色婷婷国产精品一区在线观看| 日本三级一区二区 在线| 97人人干人人操| 性欧美天天| 国产一区二区精品久久99| 婷婷综合伊人一区| 狠狠操夜夜| 狠狠干狠狠干| 91色堂| 天天伊人| 国产成人无码高清| 99re69| 美欧色综合| 日韩精品碰碰| 欧洲精品一二三在线| 欧美 中文字幕 一区| 翔田千里A片一区二区| 香蕉一区二区三区在线视频 | 男人的天堂VA| 欧美精品日韩久久久九| 无码免费一区二区三区啪啪| 欧美一区二区三区成人性生活| 91中文字幕| 色香蕉影院| 国产精品国产| 亚洲一区二区三区播放在线| 九九热免费在线国产视频伊人五月| 疯操AV| 久久东京伊人一本到鬼色| 青青爽| 91高潮| 五月丁香综合| 风间由美日韩欧美久久| 久久久亚洲欧美综合| 美国久久一二三四| 国产粉嫩蜜臀av一区二区三区| 在线午夜成人无码视频| WWW美腿丝袜香蕉中文| 中文字幕五月婷婷免费| 暖暖精品二区三区观看| 美女91| 久久免费精彩视频| 久久久久白虎| 丁香五月社区| 五月天伊人网| 91国产精品在线看| 91丝袜| 九九久久九九久久| 日本色日夜干| 午夜精品99久久久久传媒| 色五月AV| 亚洲限制级在线| 国产v片在线免费观看| 久久久不能久久久久| 最新无码国产| 国产小炒后入式| 日韩一级特黄av毛片| 久久精品人妻一区二区| 黄色电影观看久久9| 日韩精品9区| 色情乱伦AV| 无码WWW免费视频网站| 九九色热| 狠狠爱夜夜| 欧美综合站| 国产成人亚洲精品无| 色一射色一射| 国产一级内射无挡观看| 激情婷婷丁香| 久久XX| 91骚熟女| 久久综合女优| 久草福利在线资源站| 激情四射婷婷六月天| 国产精品熟女乱伦| 天天摸夜夜添无码小视频| 久久日本熟妇熟色一区| 欧美性爱97超碰| 蜜乳中文字幕a在线| 最新av在线| 日人妻视频91| 久久人妻97久久久久久久| 天天射天天| 欧洲精品欧洲精品| 国产成人无码久久精品| 热99这里有精品综合久久| 欧美少妇第一页| 婷婷亚洲五月***久久| 97干在线视频| 色老牛| 国产精品老师| 日韩免费av片高清无码| 啊啊啊啊,啊啊好多水| 超碰79人人乐| 黄在线| 亚洲91在线| 亚洲综合一| 久久免费中文字幕在线观看| 日韩欧美中文日韩欧美色| 日本加勒比无码专区| ai欧美亚洲小说| 污啪啪啪视频| 夜夜影视四色| 色哟哟 日韩精品| 后入式999| 麻豆性爱视频在线播放| 亚洲激情久久| 69精品久久久久中文字幕| 国产精品不卡高清在线观看| 91成人亚洲色图| 日夜久久久九九九久| 一本道综合色图| 亚洲中文日韩精品| 秋霞一级A片黄色视频| 啪啪啪亚欧美视频| 在线观看啊啊啊啊啊| 亚洲激情色片 | AAA久久| 久久久久免费看少妇A片特黄| 91天堂网| 久久久亚洲精品中文字幕人妻| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 啊视频在线| 日本在线不卡v二区| 宅男影院久久久,99| 午夜舔阴达高潮视频免费看| 91久热| 岛国1区2区3区在线观看| 亚洲国产av中文字幕久久| 少妇高潮九九九九九九九| 日日黄色三级网站| 18一区二区三区| 五月天婷婷激情| 亚洲啪啪性视频| 成年人一级黄色毛片大全在线观看| 黄色片A级一区二区三区| 日本加勒比无码专区| 新91视频.cmp| 一区二区三区一亚洲中文字幕、综合区灬| 久久99精品九九久久久婷婷| 大香蕉99热| 欧亚第一综合网| 第二页中文字幕| 国产亚洲 中文欧美久久| 色播五月婷婷| 人妻久久久久久久久久久久久久久 | 五月丁香激情四射| 国产精品剧情| 亚洲无码 国产无码| 狠狠色噜噜狠狠狠狠狠色综合久久 | 玖玖爱伊人玖玖爱| 亚洲宗合网| 国内三级自拍小视频在线观看| 男人天堂2030| 一区二区播放| 九九九九九九精品| 蜜臀久久久99久久久久 | 欧美se亚洲| 大香蕉一人在线| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | www.婷婷| 啊啊啊好湿久久| 欧美日韩青操| 天天影视91看看| 屁股久久久久久久久久| 亚洲五月天激情| 九色黄站| 免费a级毛片av无码久久精品中文字幕| 色综合国产在线观看| 亚洲精品性爱片| 熟女精品va中文字幕| 美女被艹尤物视频| 色妺妺在线视频| 日夜久久久九九九久| 蜜臀av中文字幕| 亚洲男人天堂AV| 啪啪啪东京| 蜜桃av综合网发布| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 加勒比伊人综合| 加勒比aⅴ| 少妇厨房愉情理伦片bd在线观看| 性做久久久久久久| 人妻夜夜爽天天爽麻豆三区网站| 操91| 国产亚洲色婷婷久久99精品91 - 百度| 中文精品一区二去| 五月婷婷色| 夜草欧美| 欧美资源| 久久久久久AⅤ无码免费肉站 | 国产精品女aA片爽爽视频| 国内毛片婷婷六月色| 五月激情综合网| 91精品婷婷国产综合久久竹菊| 中文字幕一区二区无码成人 | 九九操久久国产免费视频| 精品女同一区| 天天看天天日| 亚洲欧美国产日本一区二区三区| 又黄又粗又硬又长又大| 玖玖综合网| 最新av在线| 亚洲色天堂九9| 国产精品黑人一区二区三区| 超碰人人干| 精品国产久久乱码| 午夜成人爽爽爽爽A片李冰冰| 一级啊性爱在线视频| 色五月天AV| 色悠久| 99精品在线播放| 婷婷五月天色色| 九一国产精品| 99re99| 国产日韩欧美亚洲精品95 | 97精品一二区| 精品少妇一区二区| 波多野结衣先锋影音| 亚洲精品一二三四区| 欧美九九九九九| **一级毛片国产| 加勒比AV天堂| 国产一级137片内射麻豆| 四虎影视在线| 91五十路| 国产后入精品| 9Ⅰ超碰| 大香蕉啪啪啪| 日韩BBN| 亚洲国产一区二区三区四区国产| 欧美久久久| 2020中文在线一区二区三区| 麻豆影音天美视频| 大屁股人妻女教师撅着屁股| 九色 人妻 大香蕉| 玖草在线视频| 97蜜桃综合| 日本一区二区中文字幕久久| 屌色在线97视频| 手机在线大香蕉| 麻豆天美国美国产AV| 屁股久久久久久| 精品91摸| 中文字幕高清精品一区| 大香蕉男人的天堂| www.久久最新地址| 久草毛片| 成人网址在线观看| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 成年女人18级毛片毛片免费观看| 97久久超碰日韩精品| 91色情黑丝搞鸡在线观看一区二区三区三州| 97久操| 亚洲色图久久成人| 国产精品爆乳懂色蜜乳| 97色97好| 国产精品久久久久久无码红治院| 免费亚洲国产精品久久一区| 日本精品高清一二区一本到| 国产综合久| a男人的天堂| 日本不卡高清视频| 四虎免费在线播放| 人妻久久久久久久久久久久久久久| 免费国产视频| 狠狠亚洲| 亚洲中文字幕三级在线| 亚洲黑人在线| 性性欧美| AV九九| 伊人操你| 风间由美日韩欧美久久| 丝袜内射| 精品毛片久久久精品毛片| 欧美日韩传媒| 人人搡人人肉久久精品| 婷婷久久大香蕉| 精品国产Av无码久久久亚洲| 久久精品国产久精国产| 婷婷成人五月天| 天天激情综合站| 91丝袜人妻| 色 婷97| 九色视频91| 久久透逼视频| 狠狠爱夜夜| 久9久精品视频| 亚洲成人av色网| 色网在线视频观看免费| 9丨久久九九九| 亚州熟妇精品| 97精彩视频网站| 国产欧美日韩精品中文| 欧美日本国产日韩激情视频| 97AV在线观看| 爱丝福利| 九九九九免费高| 久久25| 99综合网| 伊人女女资源在线观看| 亚洲国产另类在线中文| 国产丁香精品露脸视频| 国产久久日| 爱干爱射网啊啊啊| 婷婷综合视频| 免费精品福利在线观看| 精品欧美А∨无码黑人大荫蒂 | 九九精品无码专区免费| 91性片| 9美女超碰在线免费观看| 欧美 熟女 日韩| 97硬碰| 亚洲情色婷婷五月天| 香蕉综合网| 国产九九九九九九九九| 中日亚韩免费视频| 在线岛国新天堂8| 日本操逼视频免费| 亚洲精品少妇| 99久久99九九99九九九| 激情文学小说一区二区 | 97国产精品一区| 伊人9| 91伊人久久在线| 亚洲精品一卡二卡三卡福利视频网站| 91最新综合| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 人人妻人人爽| 青青草乱入乱欲视频在线观看| 性色乱AV一区二区| www.狠狠干.coom | 日本 欧美 亚中文字幕| 香蕉久久国产AV一区二区| 日本日皮视频逼| 色色色色电影网| 欧美国产日韩高清在线| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 韩国一级做a久久久久| 后入国产| 91综合在线| 亚洲无码精品AV久久久| 国内偷拍精品一区二区| 男女啪啪网站免费视频| 日产欧美电影一区二区三区| 人人操人人爽人人操人人| 手机午夜电影神马久久| 天天色天天干天天爱| 黄骗免费| 天天插天天操| 黑丝少妇| 亚洲AV秘 精品久久老牛影视| 国产精品一区二区在钱播放| 狼天天狼天天大香蕉| 台欧久久精品视频| 青青草视频久久久久| 日本久久综合| 好爽要喷了| 91女色| 农村女一级毛卡片| 尹人免费观看视频在线| 国产日逼视频| 亚洲一区二区性爱电影| 操91| 亚洲欧美综合色| 久久宗合亚洲| 日韩大香蕉AV影片| 亚洲天天操| 一级人妻性爱视频| 国产精品密臀网在线观看| 国产美女口爆吞精| 任我爽在线视频免费观看| 国产精品农村妇女精品| 九九九九热| 中文字幕一区二区三区高清| 新版天堂中文资源8在线| 91麻豆天美国产欧美日| 国产丰满少妇久久久精品影院| 加勒比综合a∨| 天天综合~91| 欧美日韩国产高清在线一二三区| 99色在线视频| 操死我了嗯嗯嗯| 欧美色97| 免费一级性爱久久| 日本综合色图| 蜜桃色院一区久久 | 久艹日日日| 日韩在线一区高清在线| 久久综合九九| 好舒服视频| 九九九九热| 国产91久久九九免费精品无码| 极品五月天噜噜| 亚洲电影91| 日本影视久久免费| 人人插人人搞人人操| 性生活久久久久久久久久| 97se亚洲| 午夜120视频在线观看| 国产日本熟女顶级一区二区三区视频 | 欧洲精品欧洲精品| jazzjazz国产精品麻豆| 久久草大香蕉| 超碰69| 日本爽爽爽爽爽爽免费视频| 91丨九色丨东北熟女| 色网综合网| 久久精品午夜国产亚洲AV无码| 日韩电影天堂视频一区二区| 黑人精品欧美一区二区蜜桃| 日韩人妻一二三区视频| 亚洲情色1区| 91爱啪| 欧美精品自慰系列寂寞少妇| 干B| 国模私拍一区二区三区神乳| 亚洲春色激情小说| 国产精品伦理| 爱媛媛久久国产福利| 裸体美女久久久| 久久无码一区二区二三区性色| 91 亚洲 欧洲| 欧美劲爆第一页| 无码自拍SM| 亚洲交换| 亚洲精品第一| 乱久久久| 18禁免费视频| 精品一区二区麻豆| 91视频伊人| 97久久超碰国产网站| 深夜福利黄片| 最新一二三区视频| 少妇久久久| 四虎影视在线| 日韩成人无码| 爱欲AV| 日日夜夜狠狠| 天天日天天干天天摸天天操| 婷婷影院入口| 天操天操夜操夜月月年年操操| 国产精品久久久无码AV网站| 蜜臀亚洲综合一二三四区| 日韩图区 偷拍| 韩日精品福利视频一区不卡在线免 | 国产极品美女高潮无套在线观看| 日本污ww视频网站| 欧美后进式| 激情小说亚洲| 亚洲中文字幕三级在线| 亚洲吊色| 岛国激情视频软件| 天海翼久久| 亚洲日本加勒比在线| 欧美97| 久久AV无码1区2区3区| 天天谢天天干| 在线五区| 91狠狠综合久久| 97色亚洲| 大香伊人在线一区| 亚洲精美粉嫩嫩泬在线观看| 国产精品午夜精品| 另类小说五月天| 毛片久久| 在线中文AV| 色五月综合网| 黄色视频高清无码网站| 欧美日韩国产电影| 人人摸人人叼| 好吊色青靑草| 神马久久久久久久久久| 丝袜美腿制服人妻二区中文字幕| 久久熟女人| 亚洲AV色图一区| 大香蕉五月天婷婷| 色综91| 欧美爆操91| 亚洲少妇综合在线播放| 日韩本不卡视频在线观看| 亚洲色图超碰在线| 十八禁av无码免费网站APP| 好一吊区二区| 日韩97视频!在线| 夜夜影视四色| 国产精品久久久| 亚州综合图片| 黄色AV影视| 亚洲欧美综合区自拍另类| 上床啊啊啊| 夜夜骑天天燥| 天天综合网~69| 欧美性爱1080p| 偷拍 亚洲 欧美| 精品视频久久区| 欧美亚洲性爱一区二区| 91动漫操逼视频| 国产中出内射一区二区| 超碰在线成人电影| 色爱综合网欧美| 久热九九| 黄在线| 午夜福利国产欧美日韩夜夜| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 伊色综合天堂色97| 国产树林里野战在线看| 日本性爱视频一级| 久久久青青草| 亚洲综合射| 黑丝91视频| 97电影院超碰| 强免费黄色网址| 欧美性爱第一区| 日本性感人妻91| 男人天堂2019| 亚洲91综合| 老汉网| 内射中出日韩在线观看视频| 狠狠色丁香| 国产精品午夜高潮呻吟久久av| 老子午夜伦不卡影院| 日本不卡一区| 殴美色网| 亚洲伊人青青草| 日本αv| 久久9精品视频| 婷婷五月天AV| 秋霞影音一区二区三区| 中文字幕,人妻,日韩| 日本操逼无码| 天天综合97| 欧美色性情| 97超碰精品图片| 亚州五月| 四虎免费视频| 欧美日韩人妻少妇 一区二区三区| 96AV久久久| 美女的肌被草喷水视频| 日本亚洲vr欧美不卡高清专区| 国产毛片精品一区二区色欲黄A片| 97国产成人精品免费视频| 入口操逼网站| 日本在线不卡v二区| 综合欧美日韩在线观看| 操逼操网| 秋霞欧美性爰视频| 日韩精品在线观看网站| 国产97视频免费观看| 天天综合网入口~91| 欧美91精品国产自产| 91精品91久久久中77777| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 午夜一区| 亚洲男人天堂AV| 欧美91精品国产自产| 精品蜜乳AV免费观看| 1769国内精品视频| 精品高清一区二区三区三州| 久久性爱网站| 日本综合色图| 东北黄色电影|