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

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 瀏覽器控件的剛需。前陣子維護一個模擬項目X客戶端只能跑在 .NET 4.0 上業(yè)務(wù)頁面已經(jīng)是現(xiàn)代前端構(gòu)建出來的WebBrowser 控件一打開就腳本報錯換成 CefSharp 又連續(xù)白屏。后來把版本對齊、初始化順序、輸出目錄和 x86/x64 這幾件事拆開驗證才整理出一套能編譯、能加載本地 HTML、能做 C# 與 JS 互調(diào)的最小骨架。它適合還在維護老 WinForm 客戶端、不能隨便升級框架的人也適合想先跑通 CefSharp 再疊業(yè)務(wù)邏輯的開發(fā)者。下面按“選包、起工程、調(diào)生命周期、部署、排錯”的順序拆開講代碼按 VS2010 的 C# 4.0 語法寫不依賴 async/await。2. 版本對齊先確認 CefSharp 包里有 net40再談 WinForm 嵌瀏覽器2.1 為什么 VS2010 下不能隨便拿最新 CefSharp 包VS2010 自帶的是 .NET 4.0 和 C# 4.0這兩個約束會同時卡住 CefSharp 的托管層和示例代碼。CefSharp 的托管程序集有目標框架要求較新的包往往把 lib 目錄切到 net45、net452 甚至更高直接引用會提示程序集依賴不兼容C# 4.0 又不支持 async/await網(wǎng)上大量 CefSharp 示例是 C# 5 以后的寫法復(fù)制進 VS2010 會直接編譯不過。另一個容易被忽略的是原生層CefSharp 依賴 libcef.dll、CefSharp.BrowserSubprocess.exe 和一整套 CEF 資源文件它們分 x86 和 x64項目平臺目標設(shè)成 AnyCPU 時很容易把錯誤架構(gòu)的原生 DLL 帶進進程。我一般選包時先做三件事解壓 nupkg看 lib 目錄下有沒有 net40 或 net4.0 文件夾看 nuspec 里對 .NET Framework 的依賴再看 cef.redist.x86 / cef.redist.x64 包里是不是同時帶了托管 DLL 和原生文件。沒有 net40 目錄的包不要硬上換一個能對上的舊分支比后期改程序集綁定省事。版本號不必記直接看包內(nèi)目錄和 nuspec 最穩(wěn)。選好之后把 nupkg 當壓縮包解壓手工引用 DLL比在 VS2010 里折騰老版本 NuGet 更可控。2.2 手工還原一個可編譯的工程骨架在 VS2010 里新建 Windows Forms Application目標框架選 .NET Framework 4.0。進配置管理器把平臺從 AnyCPU 改成 x86新建平臺時不要勾“創(chuà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 項目模板默認可能是 AnyCPUCefSharp 在 64 位系統(tǒng)上會按進程位數(shù)去找原生 DLL如果輸出目錄里只有 x86 的 libcef.dll就會出現(xiàn)進程啟動后白屏或直接退出。Prefer32Bit 是給后續(xù)高版本 MSBuild 看的VS2010 下主要靠 PlatformTarget 控制。平臺目標定下來之后輸出目錄只放對應(yīng)架構(gòu)的 CEF 文件不要 x86 和 x64 混放混放時誰先被加載看運氣玄學(xué)問題會很多。2.3 最小驗證先加載 about:blank再加載本地 HTML工程骨架起來后不要急著接業(yè)務(wù)頁面。先寫一個最小窗體在 Load 事件里動態(tài)創(chuàng)建 ChromiumWebBrowser加載 about:blank確認能出空白頁而不是白屏。這個步驟能過濾掉大部分原生 DLL 和子進程路徑問題。確認 about:blank 正常后再把 URL 換成 Application.StartupPath 下的 index.html。本地文件路徑用 file:/// 前綴反斜杠換成斜杠中文目錄先避開。private void MainForm_Load(object sender, EventArgs e) { // 先加載 about:blank確認 CefSharp 原生層和子進程都正常 var browser new ChromiumWebBrowser(about:blank); browser.Dock DockStyle.Fill; this.Controls.Add(browser); // 原生層確認后再換成本地 HTML string htmlPath Application.StartupPath.Replace(\\, /) /index.html; browser.Load(file:/// htmlPath); }這段代碼沒有用設(shè)計器拖控件原因是 ChromiumWebBrowser 在設(shè)計時初始化會拉子進程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 是否齊全再看項目平臺目標和 DLL 架構(gòu)是否一致。3. 把瀏覽器控件用起來初始化順序、生命周期和 C# 與 JS 互調(diào)3.1 Cef.Initialize 和 Cef.Shutdown 的配對Cef.Initialize 建議放在 Program.Main 里、Application.Run 之前并且全進程只調(diào)用一次。常見錯誤是在窗體構(gòu)造函數(shù)里初始化每開一個窗體調(diào)一次第二次就拋異?;蛘叱跏蓟旁?Load 里子進程路徑還沒準備好。初始化參數(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 會按默認規(guī)則找子進程部署目錄一變就找不到。CachePath 和 UserDataPath 分開緩存和用戶數(shù)據(jù)不要塞進只讀目錄。Locale 設(shè)成 zh-CN 對中文界面和輸入法更穩(wěn)。LogSeverity 和 LogFile 是排錯用的白屏?xí)r先看 cef.log 里有沒有“failed to load libcef”或子進程啟動失敗。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ù)管理器里第二次打開程序連不上子進程。Dispose 之后把引用置空避免 FormClosing 被多次觸發(fā)時重復(fù)釋放。如果窗體里有多個瀏覽器實例每個實例都要 Dispose但 Cef.Shutdown 全進程只調(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 表達式返回值會走 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)或者在前端用一個初始化完成標記C# 側(cè)只探這一個標記。4. 部署不是復(fù)制一個 exe輸出目錄、x86/x64 與 VC 運行時的核對表4.1 輸出目錄該放哪些文件CefSharp 的部署目錄不是只有一個 exe托管 DLL、原生 DLL、子進程、資源文件、語言包都要在。不同分支文件名單會變最穩(wěn)的辦法是看 cef.redist 包里的 README 或示例輸出目錄把那一套整體復(fù)制過來再刪掉不需要的語言包。下面這張表是常見必須項用來核對有沒有漏不是固定清單。文件或目錄作用常見漏法CefSharp.dll托管公共接口只引用了 WinForms 包漏了公共接口CefSharp.Core.dll托管核心引用有輸出目錄沒有CefSharp.WinForms.dllWinForms 控件項目引用正常發(fā)布時漏復(fù)制CefSharp.BrowserSubprocess.exe瀏覽器子進程沒設(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 文件夾把原生文件全部放進去屬性統(tǒng)一設(shè)成“如果較新則復(fù)制”發(fā)布時整目錄帶走。4.2 平臺目標與原生 DLL 架構(gòu)AnyCPU 為什么容易翻車AnyCPU 在 64 位系統(tǒng)上默認跑 64 位進程但很多 CefSharp 包默認帶的是 x86 原生文件進程位數(shù)和 DLL 架構(gòu)對不上libcef.dll 加載失敗表現(xiàn)就是窗體出來但瀏覽器區(qū)域全白。反過來項目設(shè)了 x64輸出目錄卻是 x86 的 cef.redist也一樣白屏。排查時先看任務(wù)管理器里進程有沒有“32 位”標記再用 dumpbin 看 libcef.dll 的 machine 字段兩邊必須一致。:: 在 Visual Studio 命令提示符里執(zhí)行查看 libcef.dll 是 x86 還是 x64 dumpbin /headers libcef.dll | findstr machine輸出里 14C 表示 x868664 表示 x64。項目平臺目標設(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 運行時缺運行庫時進程可能直接退出也可能彈一個系統(tǒng)錯誤框后白屏。不要憑記憶裝年份用 Dependencies 或 dumpbin /dependents 看 libcef.dll 依賴哪些 msvcp、vcruntime缺哪個裝哪個x86 和 x64 分開裝。裝完重啟一下客戶端再做驗證有時候運行庫剛裝完當前進程還沒重新加載。var settings new CefSettings(); settings.LogSeverity LogSeverity.Info; settings.LogFile Path.Combine(Application.StartupPath, cef.log);日志文件要放在有寫權(quán)限的目錄Program Files 下普通用戶不可寫時日志不會生成看起來像“沒日志”實際是寫不進去。cef.log 里重點看 libcef.dll 加載路徑、BrowserSubprocess 啟動參數(shù)、GPU 初始化失敗、字體加載失敗。GPU 相關(guān)報錯可以先加settings.DisableGpu true驗證是不是顯卡驅(qū)動或虛擬機渲染問題確認后再決定是否長期禁用。日志級別不要長期開 Verbose文件漲得很快排完障改回 Info 或 Disable。5. 避坑與排查白屏、設(shè)計器閃退、JS 未定義、進程殘留的 5 條記錄5.1 設(shè)計器一打開就崩別把 ChromiumWebBrowser 拖進設(shè)計器現(xiàn)象是雙擊 MainForm.cs 進設(shè)計器VS2010 停幾秒后直接退出或者彈“未將對象引用設(shè)置到對象的實例”。原因是 ChromiumWebBrowser 在設(shè)計時也會走構(gòu)造函數(shù)觸發(fā) Cef 初始化和子進程創(chuàng)建設(shè)計器進程里沒有完整的 CEF 運行環(huán)境直接崩。解決方式是窗體上不放瀏覽器控件在 Load 事件里用代碼創(chuàng)建設(shè)計器里只留一個 Panel 占位。已經(jīng)拖進去的把控件從設(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)和進程位數(shù)不一致BrowserSubprocessPath 沒設(shè)置或路徑不對VC 運行時缺失。解決順序是先看輸出目錄文件齊不齊再用 dumpbin 看架構(gòu)然后確認 BrowserSubprocessPath 指向?qū)嶋H exe最后用 Dependencies 查 libcef.dll 的依賴。四項都過還白屏把 LogSeverity 開到 Verbose看日志里第一個 error 出現(xiàn)在哪一步不要從最后一個報錯往前猜。5.3 編譯報 async/await 錯誤VS2010 的 C# 4.0 不認現(xiàn)象是從網(wǎng)上復(fù)制的 CefSharp 示例粘貼進項目后async、await關(guān)鍵字下面全是紅線錯誤提示“找不到類型或命名空間名稱 async”之類。原因是 VS2010 默認 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 之前打開。解決方式是先確認綁定代碼在 Load 之前執(zhí)行再在頁面里打印Object.keys(window.bridge)看實際暴露了哪些方法最后核對注冊時第三個參數(shù)。舊分支的 RegisterJsObject 對綁定對象名敏感名字里不要帶點、橫線前端調(diào)用時對象名和方法名分開檢查。5.5 關(guān)閉窗體后進程殘留Cef.Shutdown 與 Dispose 的順序現(xiàn)象是主窗體關(guān)了任務(wù)管理器里 CefSharp.BrowserSubprocess.exe 還在再次啟動程序時頁面加載失敗或直接白屏。原因是 ChromiumWebBrowser 沒 Dispose或者 Cef.Shutdown 調(diào)用太早/太晚子進程沒收到退出信號。解決方式是在 FormClosing 里先 browser.Dispose()把引用置空再 Cef.Shutdown()。如果窗體是多文檔結(jié)構(gòu)每個瀏覽器實例都要 DisposeCef.Shutdown 只調(diào)一次。調(diào)試時可以在 Shutdown 前后打日志確認順序不要用 Application.Exit 直接殺進程。6. 進階技巧用 BrowserInitializedChanged 和請求頭把老控件跑穩(wěn)老項目里最容易寫壞的是“等頁面加載”這段邏輯。很多人用 Thread.Sleep(3000) 然后 EvaluateScriptAsync機器慢的時候頁面沒好機器快的時候白等三秒。我一般用 BrowserInitializedChanged 事件確認瀏覽器底層初始化完成再用 FrameLoadEnd 判斷主框架加載結(jié)束最后用 EvaluateScriptAsync 探 document.readyState。三層判斷比固定睡眠穩(wěn)也不會把 UI 線程卡住。下面這段只保留關(guān)鍵分支事件簽名以你包內(nèi) API 為準。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)鍵方法其余成員按接口定義返回默認值不要只實現(xiàn)一個方法就編譯。public class CustomRequestHandler : IRequestHandler { public bool OnBeforeResourceLoad(IWebBrowser browserControl, IBrowser browser, IFrame frame, IRequest request, IRequestCallback callback) { // 給每個請求打標后端據(jù)此識別客戶端類型 request.Headers[X-Client] WinFormCef; return false; } // 其余接口成員按包內(nèi)定義補全默認返回 false 或繼續(xù) }緩存目錄也值得單獨說一下。默認把 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確認 libcef.dll 架構(gòu)、BrowserSubprocessPath、VC 運行時和 Cef.Shutdown 這四件事都過再往里面疊業(yè)務(wù)頁面和 JS 互調(diào)。最小 Demo 跑不通時不要改業(yè)務(wù)代碼先看 cef.log 和輸出目錄能省掉大量來回猜的時間。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香久久激情网| 久久伊人9| www.色婷婷。com| www.天天干| 色婷婷丁香九月| 日本婷婷| 99小视频在线| 色爆五月| 国产色色视频| 99久久婷婷国产综合精品草原| 五月天婷婷影院影院| 任你操精品免费| 99热综合色图| 97精品欧美91久久久久久久| 婷婷综合九月| 99熟女| 可以免费观看的av网址| 天天日,天天插| 色久婷婷五月| 美女久久天堂| caop在线| 丁香五月天激情小说| 五月丁香六月激情在线| 久久 婷婷 五月天| 婷婷五月花| 人人射av| 91在线日本| 色色色干| 另类激情五月| 丁香五月激情棕合| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 天天狠狠夜夜狠狠2023| 亚洲精品国产成人AV在线| 激情欧美五月丁香| 激情五月天啪啪| 天天干,天天日| 四虎婷婷五月天| wwww.9免费视频| 六月丁丁香| 另类专区在线| www.第四色99| 夜夜撸天天操| 夜夜骑夜夜撸| 无码天天操| 20253AV| 色婷婷综合影院| 国产片天天爽夜夜爽| 九色视频91| 婷婷丁香五另类网站| 99热99色| 97碰碰在线观看视频| 丁香五月婷婷激情完整版| 操啊操av| 天天操夜夜爽天天操| 国产成人AV在线| 亚洲人人96@| 六月婷欧美丁香综合| 99精品视频在线| 五月天激情综合网| 99国产精品白浆在线观看免费| 婷婷久久五月天亚洲欧美国产日韩在线观看| 久久视9精| 欧洲亚洲午夜| 深情五月天| 狠狠做六月爱婷婷综合aⅴ| 五月天婷婷综合| 婷婷激情五月天视频在线| 精品综合网在线| 丁香五月欧美成人| 无码区婷婷五月花开| 久久九九精彩| 一级视频网址| 97精品人人A片免费看| 人妻操在线看| 成人操呦av| 91人人爽人人操| 天天干天天做| 大香蕉综合在线| 丁香婷婷六月在线资源观看| 亚洲色图五月丁香| 玖玖玖婷婷婷| 99燥99日| 欧美丰满熟妇BBB久久久| 六月婷色六月| 激情婷婷五月天网址| 亚洲精品V天堂中文字幕| 丁香社区婷婷五月| 丁香成人综合| 婷婷基地成人五月天| 超碰在线免费观看日韩| AAA久久久| 丁香五月婷婷欧美成人色图| 99riAV国产精品视频| 激情六月天婷婷| 久久激情综合| 久久天堂精品| 婷婷五月超碰| 99精彩视频在线观看| 无码髙清| 天天做天天爽| 激情五月丁香婷婷| 久久五月天综合| 亚洲狠狠操| 色色无码日韩| 天天做天天爱天天爽夜夜揉| 国产99久9在线+|+传媒| 国产精品大香蕉| 超碰在线视屏| 久操热| 五月丁香六月天| 婷婷丁香综合成人| 丁香婷婷激情网站| 色永久| 色婷婷五月天激情综合| 大香蕉五月天| 久久久婷| 26uuu淫色| 婷婷五月激情四月综合 | 九九99久久| 国产无人区大片| 丁香狠狠色婷婷久久无码视频| 欧美va视频| 五月天婷婷激情网| 超碰色婷婷| 亭亭玉月丁香| 欧美色图天堂网色| 婷婷激情四射五月天| 久热99| 丁香六月激情| 亚洲综合色色| 丁香五月成人| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 丁香五月av在线| 激情六月五月婷婷综合网| 久久综合网桃花| 丁香五月 无码| 91re色综合视频| 91夫妻网站九色| 日韩精品视频中文字幕| 婷婷五月在线观看| 五月综合激情| CHINESE熟女老女人HD视频| 99热精品在线在线| 久久婷色| 91精品久久久久久综合五月天| 久久爱婷婷| 激情五月婷婷五月丁香五月开心五月| 啪啪色区| 五月丁香影院| 青青草原亚洲久| 99色嘟嘟精品网站| 国产免费av在线| 国产日韩av片| 99区视频| 五月丁香基地| 日日夜夜狠狠操| 天天爽天天干| 噜噜噜久久| 久99| 色婷婷第四色| 黄网免费看| 久久99热这里只有| 一级操逼内射在线视频| 婷婷五月天激情影片| 狠狠色五月激情| renre人人操国产超碰在线| 九九aV| 99久久久国产大片区| 日韩精品一区二区亚洲AV观看| 亚洲中文字幕翔田千里| 肏日网在线看 | 日本久久综合| 国产午夜精品AV一区二区麻豆| 狼人久草| 色婷婷中文| 99视频在线观看视频| 亚洲欧洲美女在线观| 激情性爱五月天网页| 五月婷婷激情网| 99热最新国内| 九色91视频| 天天爽夜夜爽夜夜爽精| 婷婷五月天影视| 色婷婷成人| 99只有精品| 天天操人人干| 香蕉五月婷婷| 精品国产va久| 中文字幕综合| 久久综合五月天激情小说网站 | 青草五月天| 少妇搡BBBB搡BBB搡毛茸茸| 九九RE视频在线精品| 第四色五月天| 色婷婷综合丁香五月天| 婷婷少妇激情| 天天肏天天爽夜夜爽| 五月婷婷无码专区| 天天天天天天操| 97一区二区| 九九热99视频在线| 五月激情综合深爱| 思思热在线| 亚洲成人在线观看av| 777米奇影视第四色| 99综合视频一体| 色色综合网www| 超碰成人免费| 亚洲情a| 丁香五月色色| 国产婷婷综合| 激情婷婷五月天日本系列| 色色COm| www色五月| 色播激情婷婷| 人人干AV| 久热这里| 色婷婷99| 97人人做| 婷婷久久18| 99久久这里只有精品免费官网| 婷婷八月激情| 国产97色在线| 综合网色综合| 欧美成人网婷婷综合在线| 色天天综合成人网| 日本人妻伦在线中文字幕| 丁香五月婷婷啪啪视频| 9热视频在线观看| 激情美女五月天激情在线| 五月丁香六月情| 99精品偷自拍| 成人AV在线电影| 婷婷欧美激情| 九月婷婷| 国产色丁香| 中文字幕精品在线观看| 国产肥白大熟妇BBBB视频| 五月丁香六月婷婷激情四射| 国产色丁香| 14色综合婷婷| 五月天另类图片区99| 五月激情五月丁香| 亚洲高清在线| 亚洲小视频免费看| 极品人妻VideOssS人妻| 1024在线视频| 啪啪小说五月天| 蜜乳av一级av| 五月丁香久久久| 久久怡红院| 六月婷婷香蕉| 99乱视频| 九九热中文| 少妇搡BBBB搡BBB搡毛茸茸 | 亚洲成av人影院| www.91操| 丁香五月性爱| 色性综合| 五月天开心网| 五月丁香久久网| WWW,五月| 五月婷婷激情四季| 嫩草AV久久伊人妇女超级A| 久婷婷色| 天天爱天天操| 成人一级片| 狼人狠狠操| 国产婷婷综合| 午夜免费试看| 99色精品视频| 婷婷五月天影视网址| 婷婷五月综合激情免费视频| 超碰v| 五月丁香色婷婷伊人| 久久人妻精品| 玖玖在线视| 五月天丁香久久| 2017人人操| 欧美激情综合色综合啪啪五月| 婷婷丁香色五月| 欧美超碰亚洲| 欧美色色色色色色色色色色| 天天综合网色欲香| 五月激情网站| 婷婷丁香77777| 激情色播| 五月色俺婷婷| 狠狠久综合| 玖玖资源站蜜臀| 玖玖热99| 91丨九色丨大屁股| 怡红院院在线导航网| 九九久久五月天| 国产亚洲在线观看| 亚洲亚洲人成综合网络| 婷婷五月AV| 亚洲综合99| 亚州精品色情在线观看| 欧美25p| 久久五月视频| 婷婷激情久久| 久久婷婷综合国产| 九月婷婷久久久| 激情婷婷丁香| 婷婷六月色播| AV在线大香蕉| 六月婷婷毛片| 色婷婷A| 国产亚洲99| 美国少妇性做爰| 五月婷婷网站| 丁香五月自拍| 久久人妻熟女一区二区| 五月天婷婷丁香花| 丁香五月天狠狠操| 专区无日本视频高清8| 99精品热视频只有精品10| 99操碰| 涩涩婷婷五月| 久久婷婷热| 激情5月婷婷| 第四色大香蕉| 色综合网综合| 日韩影院三级| 开心婷婷五月综合| 九九碰九九爱97超碰| 超碰人人操在线| 大香蕉520| 婷婷五月天日逼| 婷婷五月丁香A∨| 天天干天天插| 99只有精品| 无码地址| 99热99美国在线观看| 五月花在线观看视频| 黄色91在线观看| 婷婷五月激情综合| 五月婷婷激情中文字幕| 99热人人| 色九四色| 夜精品无码A片一区二区蜜桃 | 丁香花大香蕉婷婷综合| 天天射影院| 亚洲无码成人性爰网| 神马久久五月天| 五月天激情婷婷| www.狠狠| 99免费在线| 五月情综合| 五月丁香婷婷色色色| 色墦五月丁香| 免费黄色视频网址| 五月婷婷深深爱| 欧美综合在线五月天色婷婷| 青青草原伊人网| www,婷婷,com| 亚洲V国产V欧美V久久久久久| 性色99| 五月天五月色婷婷综合| 去色色五月天| 久久ri精品视频| 成人片黄网站色大片免费毛片| 99热中文字幕久久| www,婷婷五月天,com| 99热性色| 五月色激情综合网| 国产精品久久久久久妇女6080| 欧美色色色色色色色| 亚州色婷婷| 久色激情| 日本九九视频| 色哟哟性爱av| 第四色五月婷婷| 婷婷五月天亚洲综合网| www.99热| 九九热视频在线观看| 狠狠色噜噜狠狠| 第四色婷婷色五月| 丁香六月毛片| 日日噜狠狠色综合久久| 激情五月天丁香| 色婷天天| www婷婷| 欧美三日本三级少妇三99| 日本视频久久| 丁香六月婷婷缴情欧美| 国产色色视频| 九九久久99| 99久久这里只有精品| 五月天另类小说| 五月丁香激情欧洲啪啪| 亚洲熟妇AV综合网五月丁香伊人| 色域五月婷婷丁香| 91久久久久久| 日本的α片xxxwww| 91操操操| 伊人五月成人| 丁香五月成人婷婷| 色婷婷婷婷| 91久久久久久久久| 午夜色婷婷| 欧美日韩aaa| 开心五月婷婷激情| 大色鬼综合| 激情图片亚洲| 亚洲色五月婷婷| 伊人婷婷五月天av| 热九九精品| 淫视馆aV二区一区| 五月视频日本免费观看| 永久无码色| 久久这里只有精彩| 亚洲射激情| 六月丁香激情综合| 狠狠操狠狠操| 日本五月婷| 开心五月婷婷激情| 免费色婷婷| 丁香五月手机视频| 91se在线视频| 777精品成人a v久久| 亚洲成人网站在线观看| 九九久久五月天综合伊人| 97在线/日本| 51精品国内探花| 亚洲成人无码网站| 五月天婷婷久久| 亚洲乱码日产精品BD| 97人凄人人操人人爽| 五月天亚洲色| 五月天久久久| 激情五月婷婷综合秋霞| 东京热五月婷婷| 手机在线视频观看9| 天天操天天干天天射| 777精品久无码人妻蜜桃| 激情五月天在线视频| 俺去也五月天婷婷| 夜夜爽天天干| 99色在线观看视频者| 日本强伦片中文字幕免费看| 国产肥白大熟妇BBBB视频| 99在线精品免费视频| 激情开心五月天| 午夜丁香久久久久久| 伊人五月婷| 99热99美国在线观看| 久草五月天| 天天日天天狠狠操| 伊人五月天在线| 日本三级中国三级99人妇网站| 亚洲精品99| 国产精品久久久久久久久久免费| 国产精品久久久久久喷浆| 成人午夜视频精品一区| 五月丁香六月片| 日韩无码性爱| 一起草av| 色五月天综合网| 日本天天操| 日本nghangse中文字幕| 婷婷久久影院| 五月天色导航| 99婷婷| 超碰人人在线观看| 女性自慰系列第五页| 涩涩五月天综合| 天天做天天摸| 成人做爰高潮A片免费视频| 偷偷与邻居做爰完整视频| WwW色婷婷| 9色视频在线| 五月丁香激情六月| 99在线免费视频| 成人短视频免费| bbwcuckold精品熟妇| 另类图片 五月激情| 俺去也在线视频| 天天婷婷综合亚洲亚洲| 狠狠爱深色婷婷综合| 色九月丁香婷婷蜜桃在线观看| 无码动漫AV| 人妻操逼| 日日操日日撸| 婷婷丁香五月天影院 | 婷婷基地五月色| 欧美色色色色色| 亚洲成人AV电影网| 深爱激情久久| 人妻中文在线| av久热| 欧美黄色AA片哗啦啦啦| 九九热最新地址| 精品九九网| 中文字幕日韩无码制服诱或| 久久天天| 激情婷婷黄色五月| 色五月丁香六月婷婷| 五月婷婷成人| 婷婷综合av| 五月天停停基地| 狠狠干狠狠色| 亚洲精品色色| 激情综合五月| 九九色影视| 五月性色| 大香蕉娱乐| 激情五月婷婷中文字幕| 99久久婷婷国产综合| 爽tv | 激情 五月 婷婷 丁香| 久久人妻视步| 丁香av网| 五月丁香无码视频| 国模九区| 婷婷射婷婷舔| 丁香影院五月综合| 婷婷丁香在线播放| 七七色综合| 狠狠操狠狠干综合| 亚洲AV久久久久久久久久久久久久久久| 天天爽天天弄| 国产毛片精品一区二区色欲黄A片 极品人妻VIDEOSSS人妻 | 国产成人精品亚洲线观看| 天天干,天天操,天天射| 99精品视频在线| 激情丁香婷婷| 日本高清久久| 五月丁香久久| 激情视频婷婷五月花| 婷婷婷婷婷婷婷五月丁香| 99爱精品| 99热国内| 激情内射人妻1区2区3区| 99免费热视频在线| 人妻AV在线| 久久久中文| 日日爽日日| 婷婷和五月天| 这里有精品| 五月激情丁香久久综合网| 国产精品色色| 丁香五月首页| 五月丁香六月色| 国产中文亚洲欧美日韩性交| 99色中文| 婷婷放心五日爱| 99操逼| 色色色在线播放| 国产全是老熟女太爽了| AV大香蕉| 福利视频在线播放| 五月丁香花开综合网| 在线不卡视频| 亚洲一区二区无码蜜乳av| 另类图片五月天| 99re这里只有精品国产99| www.久久| 美女激情婷婷| www狠狠com| 大香蕉综合在线| av婷婷丁香 六月| 香蕉97碰碰碰欧美| 深爱五月激情五月| 五月丁香婷婷综合| 国外亚洲成AV人片在线观看| 五月丁香美女| 婷婷情色五月| 综合婷婷久久| 午夜精品777| 婷婷五月天综合久久日美女| 伊人深爱综合| 99热网址| 大香蕉综合在线| 好好干av| 激情亚洲婷婷| 亚洲V国产V欧美V久久久久久| 人人干天天舔| 九九伦子片| 欧美影院婷婷| 玖玖九九99| 狠狠综合色网| 久久婷五月| 人人噜天天上| 久99| 欧在线一区| 在线中文av| 夜夜做天天爽| 色九月欧美| 97五月天| 思思99热| 日本ww亚洲| 激情五月婷黄版| 丁香五月婷婷五月| 伊人五月综合网| 婷婷五月天在线看| 996黄色片| 成人在线日韩| 99热在这里只有精品| 丁香五月www| 99色在线| 亚洲综合激情五月久久| 久久久久久久久久婷婷| 色婷婷激情| 久色中文| 色色色激情| 丁香八月综合激情| 午夜丁香婷婷| 九月激情综合| 一级二级香港秋霞欧美欧美秋霞| 99免费青青蜜臀| av中文在线| 激情综合五月| wwwC0maV五月花| 丁香九月激情| 四季AV综合网| 五月天婷婷狂暴白浆| 亚洲成人五月天| 电影蜘蛛女| 国产熟女大叫受不了| www,天天干| 激情 婷婷| 色婷婷影音| 99小视频| 五月婷六月| 99情色五月天| 亚洲视频在线观看| 九九99久久| 无码色| 六月久久狠狠| 色色丁香五月婷婷| 热的国产99热| 天天射综合网站| 综合九九久久| 色综合99色| 中文字幕按摩做爰| 婷婷五月天av| 色婷婷色99国产综合精品| 丁香婷婷射| 伊人网欧美在线男人天堂五月丁香| 大战熟女丰满人妻AV| 高清无码视频网址| 久久精品亚洲热| 婷婷五月天亚洲天堂| 4399欧美另类视频| 久9草在线观看视频| 五月天色社区| 色三级色三级| 99超级碰碰| 天天日夜夜曹| 久久婷婷五月免费视频| 五月丁香啪啪啪免费看| 国产婷婷久久| 日本三级色| 97色碰碰公开视频| 日本三级第一页| 日韩av变天就操逼不卡区| 大香蕉中文| 五月天啪啪啪| 2025色婷婷| 婷婷五月天偷拍| 一本伊人色婷| 性99网站| 婷婷.com| 天天干狠狠| 99九九精品| 婷婷日日夜夜| 亚洲无码色色| 色婷婷精品视频| www.狠狠操| 亚洲熟妇无码乱子AV电影| www.人人操人人看人人想人人摸 人人人人操,COM | 这里只有在线精品| 丁香五月色播中文在线播放| 五月丁香久人妻中文| 国产精品激情AV久久久青桔| 99久久6| 99精品性爱| 99这里只有精品视频| 综合99视频| AV在线免费播放| 五月天激情小说| 婷婷五月在线观看| 中国女人内射6XXXXX| 六月婷婷五月天| 99操| 久婷婷视平| AⅤ在线播放网| 九月av在线| 色婷婷AV在线| 第四色婷婷日本| 色色色在线播放| 色五月天成人在线| 色五月首页| 色五月五月天色婷婷色五月| www色综合| 五月丁香激情综合| 久久婷五月| 欧美成人AAA片一区国产精品 | 天天日天天色| 婷婷丁香激情五月天色色色| 亚洲精品国产A久久久久久| 大香蕉九九| 免费看欧美成人A片无码| 五月天激情视频| 久久艹 五月天| 五月丁香视频色色| 九九热这里只有精品7| 亚洲第一黄网| 欧美毛片www| 久久开心五月天激情| 婷婷久久综合久色| 激情综合色网| 久久A极片| 超碰精品国产首页| 久久99热只有精品| 这里只有精彩亚洲视频推荐| 成人综合伍月天| 91操在线视频| 亚洲无码成人性爰网| 国产偷人爽久久久久久老妇APP | 久久99国产综合精品免费| 国产成人网站在线观看| 99久久婷婷国产综合| 九九色影视| 日韩丰满少妇无码内射| 五月丁香综合啪啪| 玖玖婷婷免费| 91精品婷婷国产综合久久| 91久久精品无码一区二区三区| 婷婷五月丁香91| 激情啪啪五月天| 婷婷五月天开心激情网| 五月婷婷综合在线视频小说| 欧美婷婷精品激情| 天天日,天天插| 丁香激情综合| 97色婷婷五月天| 99re久热只有精品6在线直播.com| 综合激情在线视频| 丁香五月婷婷色五月| 狠狠操天天操综合| 97色色色| 久久久av久av久片一区二区| 五月丁香六月片| 天堂资源欧日浪女在线播放| 大香蕉久久久久| 天天天摸夜夜夜玩| 色欲婷婷五月天| www.婷婷五月.com| 人妻性操逼中文字幕 国产| 九九爱这里只有精品| 五月激激网w'w'w| 天天天在线观看| 丁香五月激情图片婷婷| 日本性视频| 亚洲免费99| 欧美综合五月丁香五月天| 99久久er| 99精品热| 97超级碰碰碰| 丁香婷婷五月天网站| 丁香五月23111| 天天肏夜夜肏| 色天堂操| 丁香九月综合激情| 五月停停99| 亚洲乱码日产精品BD| 激情五月六月| 婷婷五月花丁香| 九九视频这里只有精彩| 久久婷婷亚洲无码一起| 日韩AV在线免费观看| 丁香婷最新动态| 日本色色网站| 日本在线观看99| 五月天无码视屏播放| 互月天综合| 99热这里| 99九九精品| 亚洲秘 无码一区二区三区妃光/1| 亚洲午夜av| 日韩无码乱轮| 成人色色视频| 成人AV在线中文版| 丁香五月天导航| www.99热在线观看| 中文字幕天天干| 五月丁香青草综合啪啪| 五月天婷婷激情在线色图| 激情五月天色播| WWW.久久久久久久| 欧美狠狠色| 久久99草五月婷婷| 99er免费在线观看| 五月激情六月综合| 五月婷婷六月天| 激情五月综合亚洲另类| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 被强行糟蹋的女人A片| 伊人五月综合网| 婷婷五月丁香六月天亚洲综合| 色噜噜婷婷| 日本WWW九九九| 日本天天色| 久久日本wwww色| 2025年最新亚洲在线欧美| 精品人人操| 秋霞A V毛片| 亚洲婷婷五月天| 色色婷婷丁香五月天| 五月婷婷视频啪啪美女| 五月婷婷av| 五月久久婷婷天堂视频| 中文字幕av久久爽一区| 99视频这里有精品| 五月伊人婷婷999| 色人久夂| 五月婷婷色丁香| 婷婷丁香五月天中文字幕| 5月丁香综合网| 色的色综合| 天天爱天天爽| 色婷婷五月天成人网| 1010日日无码| 日韩黄色中文字幕| www.婷婷五月天啪啪| 超碰人人色| 久久狼人天堂| 人妻久久久久久| 女人露出p毛视频www网站| 国产.亚洲.欧洲视频在线| 久久桃花网色婷婷| 五月天婷婷婷| 五月天伊人久久| 色婷婷AV在线| www.婷婷五月天| 天天干天天干天天操| 亚洲精品网址| 99re免费精品视频| 丁香五月婷婷啪啪| 伊人色综合网| 婷婷五月天激情偷拍| 91丨九色丨大屁股| sS丁香五月婷婷| 粉嫩AV久久一区二区三区| 中文网AV| 被强行糟蹋的女人A片| 91精品国产91久久久久青草| 亚洲va综合va国产va中文| 五月婷婷影院| 这里只有九九精品| 日噜噜色| 久99久热| www.婷婷五月天,com| 97香蕉碰碰人妻国产欧美| www.99热这里精品 | 久久五月天视频| 99热综合| tingtingcaobi| 婷婷十月激情综合网| 久久男人网婷婷| 国产亚洲色婷婷久久99精品91| 青青操日本摸摸看看| wwwxxx五月婷婷小说| 河北真实伦对白精彩脏话| 天天看片日日夜夜| 色都都狠狠色都都色综合色| 久久久99精品| 2017人人操| 狠狠干,狠狠操| 开心五月综合| 久久久久久久97| 99爱精品| 激情婷婷五月| 五月天色图| 亚洲操女| 欧美色色色色色色色色色色| 久久婷婷亚洲无码一起| 在线中文亚洲| 狠狠草天天草| 婷婷五月花丁香| 天天爱天天操| 这里只有精品偷拍| A片一曲| 婷婷五月大| 色五月美女| 婷婷九九| 性生活久久朋友人妻| 五月伊人91| 99色色网| 丁香五月天五码婷婷| 亚洲免费成人电影AV| 天天综合网在线| 激情网战码亚洲A| 9999热精品| 丁香五月色| 亚洲婷婷五月天激情| 五月丁香视频色色| 疯狂做受XXXX高潮A片动画| 欧美激情xxxXX| 久久影视婷婷五月| 四川BBB搡BBB爽爽视频| 五月激情网络| 日韩色色小视频| 大香人妻| 亚洲亚洲人成综合网络| 思思w99| 九九成人精品免费视频| 国产精品久久久爽爽爽麻豆色哟哟| 99亚洲大片精品永久在线观看| WWW色色色COM| 色五月综合| 97干婷婷| Jh7Uf088VHafNm| 99久久免费性爱视频`| 天天做天天爱天天爽| 亚洲综合色五月| 丁香六月婷月91婷月| 99热这里有精品| 怡红院视频| 欧美成人网婷婷综合在线| 色色色9 9 9| 亚洲精品无AMM毛片| 色噜噜五月天| 天天舔天天插天天干| 99热狠狠操| 五月婷婷丁香91| 97人人操人人干| 综合啪啪| 五月婷婷福利| 天天拍夜夜爽日日| 亚洲另类在线观看| 国内一级精品| 国产毛片操B| 做爰丰满少妇1313| 激情综合一| 欧美色色色色色色| 国产午夜一区二区三区| 婷婷99中文字幕| 蜜桃婷婷狠狠久久综合| AV九九| 婷婷五月六月| 丁香五月开心五月激情| AV网站免费在线| 丁香婷婷视频一区二区| 国产肥白大熟妇BBBB视频| 青草网在线观看| 亚洲色五月| 日日爱699| 色小说婷婷五月天天天| 精品九九婷婷| 婷婷WWW久久| 字幕网AV中文字幕| 久99999热视频在线观看免费| 综合99综合久久久久久久| va中文资源在线观看| 大香蕉久热| 无码色综合| 九九综合图片网| 日本偷拍九九九| 天天综合网~91| 91av视频| Blackedraw视频一区二区| 丁香婷婷五月综合色情| 五月天婷婷青青草| 99亚洲色| 99久久大片| 五月亭亭综合五码| 久99热| 天天干天天爽天天操| 激情网五夜婷婷| 丁香六月天婷婷在线| 亭亭五月基地在线| 1234操逼网| 97婷婷在线| 99精品女人天堂| 97久人人| 五月丁香六月婷| 在线中文av| 天天曰夜夜爽| 无码地址| 夜夜天天久久婷婷| 久久这里99| 思思re视频在线| 五月婷婷在线综合| 99精品网站| 久久这里只| 色综合天天| 婷婷五月色情| 99精品在线| 色香蕉影院| 欧美性猛交 XXXX 乱大交| 日本久久精品| 美女五月天| 亚洲精品又粗又大又爽A片| 天天干夜夜谢| 丁香五月激情婷婷| 校花娇喘呻吟校长陈若雪视频| 99热最新| 丁香五月天社区| 亚洲狠狠丁香婷婷香蕉| 99久视频| 99久久超级| 热婷婷久| 午夜激情综合| 另类五月婷婷| 丁香婷婷六月激情| 色婷婷精品| 色婷婷免费观看| 99re8在这里只有精品| 五月丁香综合激情| 九九在线精点品| 亚洲婷婷性爱| 五月天激情啪啪| 成人视频一区| 亚洲综合色丁香五月天| 一区=区操屄高清大全av| www.成人婷婷综合| 五月综合在线婷婷图片| 亚洲啪啪精品| 久久久久久久91| 五月丁香婷婷色播无码| 超碰69天堂| 丁香五月网| 大香蕉啪啪啪| 六月婷婷国产| www.婷婷.com| 97色色网| 婷婷五月娱乐在线| 在线日韩视频| 26uuu国产精品| 五月天激情综合| 久久婷婷网| 69精品人人人人人人人人人| 人与禽A片啪啪| 天天综合色99| 99噜噜噜在线播放| av操一操| 超碰在线91| 在线超碰免费| 国产成人综合网| 色综合开心五月深爱五月| 日韩乱玛久久| 操人久久| 艳妇野外情欲放荡HD| 久久久全国免费视频| 久综合4| 97干欧美| 六月丁香五月激情网| 久热精品视频| 久久性爱视频网站| 1024欧美看片| 2015好吊操| 丁香五月婷老师| 99热这里只有精品青草| 白人荫道BBWBBB大荫道| 超碰在线免费观看3 9| 丁香五月成人自拍| 五月色情婷婷| 91视屏在线观看com.wwwvv| 六月狠狠综合| 精品网站:999WWW| 国产真实乱了老女人视频| 婷婷五月激情小说| 99色色热| 婷色五月天| 色青青电影色五月| 五月天亚洲图片婷婷| 亚洲综合视频天天精品| 婷婷五月天激情综合深爱| 色婷婷久久综合丁香五月| 99在线视频资源| 日碰日| 国产亚洲在线| 久色激情| 91久久久久| 人妻久久做| 中文字幕人妻在线| 久草视频大香蕉99| 99成人网站| 丁香五月香蕉| 九九99在线| 五月天久久成人| 激情综合网激情五月天| 182无码| 99在线er热| 成人欧美日韩| 婷婷五月精品中文| 色999五月色| 色999五月色| 欧美日韩123| 五月婷婷欲色| 丁香五月综合在线观看| 天天干天天干天天干天天干天天| se99高清无码| 五月精品免费XXX| 久久精品性爱| 亚洲综合激情五月久久| 婷婷视频网| 亚洲第一综合| 热婷婷久| 91婷婷搞| 亚洲99精品欧美一区| 激情五月丁香婷婷| 一逼色综合| 5月婷婷6月六月丁香| AV中文在线| 人人草成人视频| 99精品一二三四视频| 成人中文网| 天天成人综合| 五月在线| 99热九九这里只有精品| 影音先锋777xfplay色资源网站| 久久ww| 婷婷的99视频网站| w婷婷五月婷婷w| 91亚洲免费片| 99免费热视频| 丁香深五月婷婷| 五月天婷婷色小说| 少妇水多A片太爽了| 九九RE视频在线精品| 另类图片婷婷五月天| 六月婷婷色| 色噜噜狠狠色综合无码久久欧美| www一区二区三区| 九色亚洲| 蜜乳中文字| 99热草草| 99热这里只有精品18| EEUSS鲁片一区二区三区| 青青久久91| 51avj视频大全| 一本九九色| 99精品综合| 色原狠狠综合| 狠狠干在线| 99爽视频| 日韩色五月| 日韩欧美一级大黄网站| 五月六月伦理| 啪啪东京热| 伊人久久婷| 99热最新网址| 九月婷婷激情| 色啪影院| www.丁香五月| 停停色综合伊人| 亚洲精品又粗又大又爽A片 | 思思热天天看| 成人无码精品1区2区3区免费看| 2017人人操| 亚洲AV免费在线| 天天拍夜夜撸| 国产做爰视频免费播放| aaa丁香五月天| 免费看欧美成人A片无码| 丁香五月综合激情久久潮喷| 啪啪 综合网| 涩五月婷婷| 色五月激情五月| 五月天婷婷永久免费视频| 无码人妻丰满熟妇奶水区码| aaaaaa片| 69超碰在线| 国产午夜一区二区三区| Aaa久久| 丰满人妻一区三区三区| 色婷婷综合网站| 色婷婷色五月另类综合| 在线看片av| 五月天婷婷色紫薇阁| 五月丁香综合网| 日本成人小说婷婷六月| 亚洲亚洲人成综合网络| 久久538| 五月天婷婷在线啪啪视频| 婷婷激情五月综合| 五月天婷婷久色| 婷婷五月天激情综合网| 深爱激情综合| 五月五月婷婷| 婷婷五月天激情电影小说| 色婷婷AV在线| 亚洲精品无人区| 狠狠五月天激情| 丁香婷婷超碰| 九九無妻| 思思热久久久在线| 九九99九九99九九99视频网| 亚洲综合色色色| 另类激情五月| 丁香五月花| 婷婷色综合av| 五月丁香婷婷爱激情综合网| 亚洲激情久久| 亚洲天码视频www蛋播视频| 天天插操| 99色在线观看视频| 婷婷丁香五月视频| 99伊人婷婷在线| 丁香五月电影| 五月激情综合深爱| 久久婷婷激情| 成人久碰| 外国碰视频网站97| 五月丁香激情综合欧美| 97色精品视频 | 九月婷婷丁香| aaa久久| 综合网亚洲| 久久人妻www| 丁香五月婷婷婷婷欧美综合| 99这里都是精品| 天天色综合图片| WWW,色五月| 9热在线视频| 一点色成人网| 色偷偷综合| 婷婷激情五月综合基地| 丁香婷婷五月综合欧美另类| 亚洲激情五月丁香久久久久| 午夜激情久久| 99热精品免费| 亚洲性爱电影| 欧美猛片| 九九热黄色| 变天就操逼婷婷五月| 综合激情在线视频| 天天日夜夜夜操操操操| 微拍92| 激情五月天网站| 激情第四色| 久久人妻系列| 草综合网| 激情 婷婷| 国产成人精品一区二区三区视频| 99re思思久久| 337p午夜影院| 五月天社区| 五月天激情黄色网址| 丁香五月性| 激情欧美丁香五月| 狠狠狠狠狠狠狠狠草| 毛片九九九九九九| 国产精品久久久久久喷浆| 99视频在线观看网址| 婷婷综合| 东北黄色一级| 99热国产在线| 婷婷色网| 五月婷在线| 深爱综合网| 丁香五月婷婷欧美成人色图| 五月天婷婷操逼视频| 最近中文字幕大全免费版在线| 婷婷五月天美女视频| 婷婷色网站| 三级毛片7979| www.色色色com| 99精品网| 丁香六月婷婷| 色色操|