免费国产精品自在自线-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
返回資訊列表
激情婷婷丁香五月天小说| 超碰猛烈的性猛交| 人人摸人人| 五月激情婷婷开心五月| 久久久.COM| 99国产精品久久久久久久久久久 | 色色色热热热| 亚洲成人黄色网| 久久久www| 天天综合区| 丁香六月五月天| 91精品久久久久久综合五月天| 亚洲精品国产精品乱码视99| 久久精彩视频99| 五月色色网| 五六月婷婷久久| 五月丁香天堂网| 五月天婷婷人妻| 欧美成人无码一区二区三区| 狠狠做五月| 久久国产高清| 丁香9月婷婷| 五月丁香激情综合| 成人五月天在线观看| 操逼在线视频| 色青青视频| 日本一级| 日韩ac不卡无码| 99热人人操人人操| 人人操人人看97干| 欧美网站视频4399| 五月刺激丁香月综合| 9婷婷内射| 麻豆五月丁香婷婷| 久热69| ...婷婷国产成人亚洲日韩| 97色色综合| 99爱在线| 丁香五月色色婷| 丁香五月-激情综合| 五月天激情婷婷| 狠狠做婷婷| 五月丁香六月婷婷成人电影| 爆乳熟妇一区二区三区爆乳| 丁香五月综合| 婷婷五月天影院| 国产亚洲色婷婷久久99精品91| 色久丁香五| 久久婷婷五月综合色和| 久久综合五月天| 26uuu精品国产| 婷婷娱乐丁香综合网| 九九视频这里只有精品在线播放| 五月四色婷婷| 五月天婷婷丁香| www.五月丁香| 欧美在线视频99| 97干欧美| 久久人妻少妇嫩草AV| 狠狠五月天| 九九久久99| 97碰在线视频| 超碰免费人人肏| 九九色情网站| 9人人操人人看| 啪啪激情综合| 六月色国内综合| 婷婷丁香五月噜噜噜| 丁香五月婷婷色| 岛国AV网站| 天天日天天爽夜夜爽| 拳交大逼| 婷婷五月综合在线| 久久九九re热| 九九热在线亚洲免费视频| 人妻性爱| 99ri视频在线播放| 国精产品一区一区三区免费视频| 91精品国产色猫| 伊人五月天97| 爱草视频在线| www.91.com黄| 丁香六月婷婷色XXXX| 久草婷| 婷婷久久伊人| 五月天自拍视频| 九九精品视频在线6| 国产精品色| 99久在线精品99re8| 四LLL少妇BBBB槡BBBB| 丁香婷婷老熟女综合网| 色五月首页| 色五月丁香一区在线| 精品A√| 六月婷婷综合激情| 色www99| 97热久久| 久热视频这里只有精品| 99视频内射三四| 殴美97色| 五月丁香婷婷啪啪综合网| 五月天激情综合| 成人看片网站| 亚洲旡码| 天天做天天爽| 国产欧美大香蕉一区| 日本久热| 182TV大香蕉| 大地9中文在线观看免费高清 | 99视频| 色玖玖导航| 青草视频在线蜜臀| 五月婷婷性爱| 欧美精品999| 99热在线观看这里只有精品| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 伊人干综合| 五月婷婷开心六月激情小说| 99re6在线视频精品免费| 激情婷婷。| 亚洲99激情| 新激情五月天天在线网| 综合激情sV| 天天操夜夜爽| 99ree6| 婷婷伊人中文字幕| 大香蕉精品视频| 国产三级在线播放| 亚洲成人噜噜| 91在线资源| 5月色婷婷| 五月婷六月| 精品热青草| 日本色噜| 操一区| 婷婷午夜激情| 日本在线视频www色| 伊人大香蕉综合在线| 狠狠色丁香| 亚洲av成人电影在线观看| 亚洲综合色丁香五月天| 久久小说| 激情网综合| 免费视频WWW在线观看网站| 九九热视频99| 九九热视频这里只有精品| 婷婷五月天久久综合88| 久久久99视频| 东京热免费视频| 91成人电影| 亚洲有码在线视频| 色综合九九| 亚洲AV无码影院| 五月激情婷婷六月| 99久久精彩视频| 色婷婷狠狠18| BT综合在线视频观看| 激情五月婷婷| 激情五月黄色小说| 碰久久精品w| 天天爱夜夜爽| 亚洲啪啪视频| 五月婷婷综合网| 五月婷婷天| 天天搡日日搡aaaaⅩ| 久久久久久久97| 天天肏视频| 色婷婷色99国产综合精品| 丁香六月啪| 丁香婷婷大香蕉| 桃色五月婷婷| 色婷婷小视频| 9久视频| 婷婷色网| 91在线观看九区| 五月精品免费XXX| 在线色婷婷| 夜夜撸日日操| 另类综合激情| 大天天伊人| 天天肏视频| 欧美五月丁香啪啪响视频| 97福利视频| 亚洲、热| 日韩综合久久| 2050人人操免费工开爱 | 久久综合五月天| 色五月激情网| 色综合久久8| 五月天开心网| 婷婷五月综合在线视频| 91热在线| 午夜激情五月天| 欧美色偷拍| 99爱视频在线| AV人人操| 人妻操操色| 色婷婷色综合激情91| 色色色欧美| 五月天婷婷丁香蜜桃91| 在线网黄| 91丁香| 狠狠色噜噜狠狠狠888| 天天操夜夜肏| 婷婷基地成人五月天| 国产97在线日韩亚洲女人被黑人巨大| 国产精品电影| 五月婷婷激情综合av| 97色色色色| 日本wwww在线| 欧洲MV日韩MV国产| 精品视频这里只有精品| 九九精品re免费视频| 色五月激情五月天| 九九99热久久精品66中文字幕| 青草网在线观看| 影音 五月 婷婷 久久| 在线视频激情网站| 五月天色婷婷激情| 性色99| 色五月婷婷中文字幕| 青青草青青草五月天| 东京热免费视频| 国产另类综合| 婷色成人| 丁香婷婷六月天| 中文字幕av在线| 欧美,日韩成人在线| 青青草五月天| 99爱精品| 国产日韩欧美性爱| 亚洲欧美成人在线| 婷婷六月丁| 久狠狠| 综合五月激情| 天天爽综合| 色噜噜狠狠色综合AV兰草影视| 丁香五月天天| 丁香五月激情欧美| 婷婷伊人綜合| 涩五月丝袜婷婷| 五月天婷婷丁香成人网| 任你弄在线视频免费| 五月丁香综合激情| 嫩草AV久久伊人妇女超级A| 五月婷婷六月丁香综合在线| 天天干狠狠| 色婷婷激情| 婷婷五月花西瓜| 五月丁香婷色| 欧美色欲色欲天天天www| 综合久久婷婷五月丁香| 欧美美女国产日韩一区二区久| 99ri视频| 色色色在线免费视频| 日韩一级片| 久99久在线| 人人操女人| 婷婷久久图片| 久久停停超碰| 亚洲 25P| 99r这里| AAA亚洲AV| 这里只有国产精品在线| 婷婷综合色五月天| 激情五月婷黄版| 99视频这里有精品| 久久精品99| 国产亚洲在线观看| 成人无码精品1区2区3区免费看| 五月婷婷六月天| 五月天婷婷基地丁香| 五月婷婷色色色| 三级黄网站| 玖玖在线视频福利| 人人综合五月人人婷婷| 激情五月天 婷婷| 五月婷婷啪啪综合网| 91大屁股精品| www.激情| 91伦| 丁香五月天网站| 都市激情久久| 九九热视频免费| 色五月天本日| 亚洲日日日| 日本久久99| 精品香蕉99久久久久网站| 色呦呦在线| 婷婷久久在线| 99小精品| 女人天堂AV| 久热9| 2018国产大陆天天弄| 天天干天天av天天射| 婷婷第一页| 97久久人人操| 看久久性爱视频| 久9精品视频| 五月婷婷丁香五月| 黄久久久| 丁香六月婷婷色XXXX| 五月天婷婷丁香基地在线观看| 九九碰九九爱97超| 91久久网站| 婷婷五月天久久| 狠狠狠人妻| www五月| 99在线免费视频| 超碰天堂网| 人伦30P| 五月天婷婷色播综合在线| 人人爱人人摸人人澡| 另类图片天天影视在线观看| 五月婷婷丁香综合,亚洲天堂| 91婷婷搞| 五月天成人网在线观看| 91紱請| 五月激情网站| 五月天狠狠| 国外亚洲成AV人片在线观看| 亚洲精品99| 婷婷五月天综合中文| 99热都是精品| 天堂综合久久| 色噜噜狠狠插综合| 久久5 9视频免费观看| 亚洲在线资源| 九九热精品99| 日韩一级网站| 五月天婷婷丁香| 欧美内射AAAAAAXXXXX| 九九热自拍| 丁香五月天天高清在线| 国外亚洲成AV人片在线观看| 99热 免费| 综合激情婷婷| 91精品久久久久久久| 一级操逼内射在线视频| 激情九月婷婷九月| 99.色| 超碰在线国产| 五月丁香激情综合啪| 色婷婷偷拍| 亚洲乱啪| 精品色色| 欧美操逼天堂| 婷婷五月天AV在线| 9操在线| 婷婷五月天播播| 狠狠精品干练久久久无码中文字幕| 久久婷婷五月综合伊人| www.婷婷五月| 天天操夜夜爽天天操| 991国产精选视频在线播放下载| 超碰自拍天堂| 五月天婷婷综合免费| 五月婷婷先锋| 夜夜谢天天干| 五月激情婷婷综合| 综合久久婷婷| 五月天色导航婷婷资源婷婷| 六月丁香网| 综合激情五月丁香9999久久精| 久久色情| 99色最新在线视频| 大色鬼综合| 亚洲 在线 性爱| 欧美日本韩国亚洲| 天天色天天色天天色天天色天天色| 欧美性生交XXXXX无码小说| 99re在线观看视频| 婷婷亚洲在线| 亚州操操| site:minyis.com| 中文字幕在线观看视频www| 青青热久久综合| 久久久久久久久久久久久9| 99这里只有精品视频| 26uuu最新地址| 91精品国产色猫| 丁香六月五月天| 98永久精品| 久久婷五月婷| 91视屏在线观看com.wwwvv| 狠狠干.com| 热99AV网站| 五月婷啪啪| 天天做夜夜爽| 国产精品色情AAAAA片软件| 翔田千里无码| 色五婷婷| 欧美私人家庭影院| 婷婷欧美| 激情五月天之五月婷婷| 91xxxx九色| 久操大香蕉| 精品无码色欲AV| 97超碰9久热婷婷热| 婷婷五月天小说| 色婷婷久久| 610018岁成人视频| 性视频久久| 人妻性爱| 久草视频一,二三四| 日本丁香五月| 亚洲操B| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 国产精品久久久爽爽爽麻豆色哟哟 | 激情5月婷婷| 亚洲啪啪视频| 色婷婷aV四虎| 五月天激情小说网| 女人被男人吃奶到高潮| 99色热视频| 蜜桃婷婷狠狠久久| 狠狠色综合图片| 久久女人天堂| 夜丁香五月婷婷| 国产一级片| 色婷婷亚洲综合网站| 另类视频一区| 天天操夜夜操| 五月婷婷之美女图片| www色五月| 99热综合在线观看| 亚洲色婷婷| 久久免片| 99热99re6国产在线播放| 色综合婷婷| 六月婷婷日| 色综合久| 九九热最新地址| 思思久久99| 伊人婷婷激情| 九九精品片一| 97人人干| 久热一本| 超碰三级片| 久久丁香网| 亚洲中文字幕在线观看| 99亚洲视频| 六月婷婷色色色| 五月丁香花开综合网| 欧美日本综合网| 免费黄色AV| 丁香五月 无码| 超碰人妻公开在线| 桃色成人网| 日本99久久| www.久久99| 亚洲 视频 导航 一区| 久久婷婷综合五月趴| 婷婷色香六月综合激情| 99热这里有精品6| 丁香五月婷婷色情综合| 啪啪 综合网| 9久9久| 日韩久操婷婷| 色五月婷婷影视| 亚洲av电影网站| 亚洲av| 婷婷丁香五月综合网| 2018国产大陆天天弄| 日本丁香五月| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 五月婷久草| 色色色色色九九九九九| 成人视频免费观看高清完整版在线观看| 嫩草极品| 婷婷五月乱交换| 99久久終合| 日韩美一级毛卡片| 国产精品操| 久久 婷婷 五月天| 久久这里精彩免费在线观看| 噜色精品| 天天操狠狠操| 伊人五月综合网| 97干在线播放| 这里只有精品久久| 丁香婷婷天堂| 在线不卡中文字幕| 日日爱678| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 99超在线| 久久一热| 激情综合网五月激情| 欧美在线干| 色色色色色色综合网| 超级碰 久久9| 99爱爱| 色欲Av五月天| 婷婷五月综合激情免费视频| 五月婷婷偷拍| 最新高清无码专区| 成人AV网站在线| 六月婷婷激情图片| 久久久久久丁香五月| 五月天激情国产综合婷婷| 激情婷婷久久| 日本少妇裸体做爰高潮片| 91制片厂久久久国产电影| 丁香婷婷五月人体| 狠狠操.com| 五月天停停成人网| 国产亚洲99久久精品| 亚洲综合激情五月久久| 久久大香蕉伊人| 激情五婷网| 婷婷九月激情网| rr天天操| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 天天噜日日噜综合无码| 日韩综合大黄| 色色网站在线| 久久 中文 日本| 玖玖国产视频一区| 野战毛片三一3| av大香蕉| 人妻精品在线| 丁香五月婷婷在线观看| 国产精自产拍久久久久久蜜| 久久婷网| 丁香五月六月婷婷殴美综合| 色婷婷丁香五月| 操婷婷久久| 丁香无五月网| 五月天丁香网站| 天久综合91综合首页| 激情婷婷久久| 综合网亚洲| 国产高潮A片羞羞视频涩涩| 五月婷婷六月综合| 五月天激情小说| 九九综舍久久| 丁香婷婷婷五月| www.色婷婷| 色综合久久综合中文综合网| 六月综合在线| 婷婷五月色播天| 五月丁香婷婷爱激情综合网| 六月婷久久| 91丨九色丨国产打屁股网站| 激情亚洲色图片丁香综合| 日韩无码专区| 色综合天堂| 99热在线只有精品| 色在线免费观看| 伍月激情天| www.天天日| 欧美精品啪啪| 色欲五月婷婷| 综合色网站| 婷婷十月激情综合网| 不卡在线视频| 色婷婷丁香五月天激情综合网| 思思热视频在线| 影音先锋一区二区三区| 182TV大香蕉| 色爱终和网| 亚洲V国产V欧美V久久久久久| 综合久久婷婷五月丁香| 九月婷婷综合| 久久五月人人摸| 九九色精品| 五月天婷婷激情网| 丰满人妻一区二区三区| 日韩狠狠色婷婷| 国产激情久久久| 婷婷的激情五月| 久热免费| 婷婷区日本| 国产伦亲子伦亲子视频观看| 色婷婷五月天成人网| 免费视频在线观看的网站| 婷婷丁香高潮了| 午夜成人片400| 五月天四色房丁香| 婷婷丁香五月天激情四射| 伊人五月网| 成人无码免费一区二区中文| 99热在线成人网站| 五月天丁香综合久久国产| 91狠狠色丁香| 精热在线综合网| 欧美人与性动交CCOO| 另类婷婷丁香| 激情五月天福利| 五月天成人在线视频网站| 六月婷婷香蕉| 婷婷五月天社区| 亚洲狠狠狠色婷婷综合激情久久久| 亚洲精品无AMM毛片| 亚洲噜色| 久久 婷婷 五月天| 成人无码精品1区2区3区免费看| 深爱激情小说五月婷婷| 色色六月| 婷婷金品综合视频| 亚洲久久婷婷丁香五月天| 91狼友视频在线观看| 人人操AV| wuyuedingxiang99| 亚洲色区17| 91se在线视频| 婷婷五月婷婷五月天| 五月婷中文娱乐综合| 亚洲AV人人操| 激情五月丁香激情综合网| 五月色丁香婷婷综合| 色色丁香婷婷| 天天色综合网吨吧| 色色色999| 综合色图婷婷| 超碰99热| 另类综合婷婷五月天欧美视频| 性生活视频98791| 精品夜夜澡人妻无码AV| 天天综合色| 天天日日人| 操碰99在线视频观看| 国产一级片| 天天天天天久久久久久| 亚洲成人综合在线| 日韩有码久久| 国产肥白大熟妇BBBB视频| 色婷六月| 99热这里只有的精品视| 久久综合婷婷| 色播激情五月天| 五月色丁香综合| 色综合香蕉| 538在线精品| 97超碰人人操| 五月丁香六月欧美综合网站| 五月亭亭六月激情| 婷婷久久综合| 丁香五月激情网| 69凹凸成人综合网| 九九色色| 婷婷五月色播放| 五月天亭亭俺也| 3p日韩网站视频| AV色五月婷婷| 九九热自拍| 久久精品日| 99人妻碰碰久久久禁片| 无码99| 日本久久婷婷| 五月天播播中文字幕| 蜜臀嫩草| 另类小说五月天激情| 久久五月丁香婷婷| 激情五月综合| WWW久久久| 激情性爱五月| 日韩av在线免费观看| 色约约视频一区二区三区四区五区 | 婷婷亚洲日本| 人妻熟妇国产精品| 色婷婷在线播放| 任你擦免费视频| 五月激情综合性爱| 婷婷性爱综合| 五月婷婷黄| 婷婷色情五月| 久色激情| 亚洲成人网在线观看| 五月婷激情影院| 中文AV在线观看| 99啊精典免费视频| 九九人人自拍| 亚洲另类婷婷综合| 99久热| 天天日日人| 99在线观看视频精品| 丁香五月AV在线| 欧洲激情五月天婷婷| 久久99激情| www.狠狠操.com| tingtingzonghewang| 婷婷丁香五月天小说| 噜噜噜噜在线| 国产色99| 五月亭亭网成人在线视频| 丁香五月 六月婷婷首页| 密臀久久| 五月婷婷六月丁香在线视频| 操操操AV| 丁香五月香蕉| 色婷婷99| 亚洲网综合在线| 亚洲色图欧美色图日本视频| 亚洲婷婷综合视频| 九九偷拍网| 色婷婷色综合激情91| 色色五月丁香婷婷| 丁香五月激情天AV无码| www,婷婷五月天,com| 成人性爱精品视频| 99色在线观看视频| 婷婷午夜天| 色婷婷基地 | 日韩久久系列| 淫视馆AV在线| 思思热久在线观看视频| 色五月婷婷影院| 丁香五月欧美午夜视频| 99热播放| 丰满人妻妇伦又伦精品国产| 色婷婷91激情小说| 啪啪综合网| 夜夜天天久久婷婷| 天天综合色| 久碰视频| 襙逼网| 久久精品视频在这里有| 大香网伊人久久综合| www.夜夜操| 日韩AV免费| AV在线免费播放| 超黄亚洲瑟瑟网站| 亚洲天天综合| 色人久久| 丁香色婷婷色手机免费在线| 婷婷五月综合网激情| 一起草AV| 久久久精品人妻录| 婷婷狠狠操| 影音先锋男人av资源站| 日韩在线成人电影| a69在线视频| 久久丁香五月| 精品人妻伦九区久久AAA片| 色色999三级片| 激情99| 五月天四色房丁香| 丁香五月婷婷啪啪啪| 狠狠精品干练久久久无码中文字幕| 2022久久婷婷| 蜘蛛女免费观看完整版高清电影| 色五月天成人| 婷婷九月| 九九综舍久久| 五月丁香六月婷婷婷婷| 五月丁香成人网| 国产乱妇乱子在线播视频播放网站| 777久久久| 婷婷激情伍月网| 免费啪啪亚州视频| 91女人18毛片水多国产| 狠狠操天天操综合| 九九色影视| 婷婷五月天综合AV| 开心五月天激情| 99热| 99re热视频这里只有综合亚洲| 色婷婷丁香五月在线观看| 色五月婷婷网| 五月在线婷色| 婷婷五月天堂| 99碰碰视频| 影音先锋五月婷婷| 美女激情婷婷| 乱精品一区字幕二区| 六月婷婷天天操夜夜爽视频| 日本99色| 丁香狠狠色婷婷| 丁香六月成人| 国产操逼视频网站| 99热精品一| 激情五月婷婷老师| 色婷丨日丨天丨综合久久| 日日爽夜夜爽| 久久五月天精品视频| 五月丁香黄色视频| 六月丁香大香蕉| 国产在线黄色| 久久精品五月天| 国产成人综合在线| 无码yw| 色婷婷69| 91成人电影| 五月天啪啪视频| 99久久精品色老| 色五月综合激情| 99ri久久| 精品人妻一区二区| 精品国产va久久久久| 色五月大香蕉| 国产精品噜噜在线视频| 91se视频| 久久99色色| 九九成人电影婷婷| 久久丁香五月婷婷| 久久婷婷五月综合网| 。久久久久久久久久久久久久人妻 | 人人色性网| 少妇大叫太大太粗太爽了A片| 国产xxxxx在线观看| AA丁香综合激情| 婷婷五月天视| 色狠狠色噜噜AV天堂五区| 99热6这里只有精品6| 国产毛片精品一区二区色欲黄A片| 色色无码日韩| 97精品人人A片免费看| 色播五月丁香婷婷| 99se丁香| 五月婷婷免费在线视频| 91热视频色网站| 婷婷久久网| 丁香婷婷六月婷婷六月婷婷六月婷婷| 久操热线| 亚洲va欧美va国产综合久久久| 操逼亚洲天堂| 婷婷五月天视频| AV在线观看网站| 性做久久久久久久免费看| 99性感视频| 9l视频自拍9l九色9l成人| www久久99| www.五月天。com| 26uuu成人网| 婷婷伊人久久| 激情五月天婷婷| 久久伊人日日夜夜| 91人人妻人人操| 99综合免费视频| 伊人六月无码视频| 色色婷婷婷丁香五月天| 97久久视频| 伊人婷婷五月| AV动漫不卡无码免费| 丁香五月社区| 午夜做爱影院| 91九九| 九九热这里只有精品9| 在线中文亚洲| 婷婷丁香五月视频| 大香蕉人人网| 成人在线二区| 成人版视频在线观看| 99视频精品全部免费观看| 亚洲 成人 电影av在线观看| 99亚洲精品| 79色色| 99热久| 热婷婷av| 亚洲色综合| 色99网| 激情婷婷五六月天| 9999热在线免费观看| 国产精品久久久久久久久久免费 | 激情丁香六月| 人人色婷婷五月天| 日本97久久久精品| 99视频| 8区视频在线| 久久九九热视频| 第2色五月婷| 9精品在线| 亚洲天堂婷婷| 欧美性生交A片免费看| 丁香五月人妻| 开心五月网| 色97综合婷婷天天色| 欧美在线视频99| 五月丁香六月婷婷综合| 成人午夜天| 丁香五月影视| www.五月.com| 常久最新免费的色吊丝| 精品综合久久久久久五月天| 五月丁香日本在线视频观看| 婷婷色操| 综合色吧| 综合久久十| 天天插天天射| 99视频| 97丁香五月| 99热这里只有精品13| 婷婷五月天AV| 99热老司机| 99人妻碰碰碰久久久久| 超碰AV成人| 91九色 熟| 亚洲成人av中文| 91人在线观看| 久久精品一区二区三区四区| 久操热| 久久丁香五月天| 亚洲中文字幕AV| 婷婷久久精品| 91天天操天天干天天射| 婷婷激情图片| 91精品久久久久久久久| 看片视频在线免费日产在线看| 婷婷五月天在婷| 天天艹天天色| 色五月婷婷激情五月| 色六月天天激情综合网| 天天干天天叉| 久热九九| 超碰在线精品| 另类图片天天影视在线观看| 天久综合91综合首页| 中文字幕一色哟哟哟哟| 九九色色| 丁香天堂夜| 青草少妇激情| 久久9情免费| 色五月婷婷基地| 激情五月色在线播放| 99小视频网站| 婷婷精品性性性性性性性| 99re思思热久久| 99热精品9| 天天久| 五月婷婷综合在线| www999日韩精品| 97九色| 综合网亚洲| ..真实国产乱子伦对白在线_欧 | 久久婷婷超碰| 久久香视频| 久人操| 97久久人人操| 亚洲VA欧美VA| 色五月天在线| 五月婷婷免费在线视频| 色99色| 激情五月五月婷婷| 伊人在线视频| 五月开心啪啪| 久久黄A片| 色婷婷五月天天天做| 思思久热6| 久久亚洲天堂| 五月丁香激情综合| 五月丁香综合久久夜夜| 日韩高清久久| 九九人妻福利| 色五婷婷| 色五月丁香五月| 丁香五月综合| 色五月婷婷天堂| 亚洲人成网亚洲欧洲无码久久| 日日干夜夜撸夜夜骑| 五月天精品视频| 97碰在线视频| 久久精品凹凸分类| 九月婷婷激情| 夜夜夜叫天天天做| 丁香婷婷色色| AA片在线观看视频在线播放| 五月丁香啪。| 色久在| www.99情趣网| 丁香五月天视频| 色五月天 丁香| 九九色图| 五月婷婷久| 五月丁香黄色视频| 婷婷五月天久| AV五月丁香| www,色婷婷| 久久性爱99国产| 久久久99免费视频| 丁香五月婷婷天激情| 国产成人99久久亚洲综合精品| 亚洲丁香花五月丁香花| 久99久在线| 久久性爰视频这里只有精品| av九九| 99色在线观看视频| 日操五月婷| 婷婷综合五月天| 中文字幕人妻一区二区| 九九综合视频在线观看| 成人永久免费视频在线观看| 日本人妻伦在线中文字幕 | 久久婷婷五月天激情| 五月天激情小说婷婷基地| 超碰在线人人| 大香蕉大香蕉在线影院| www天天干| 色五月在线播放| 99九九在线精品热动漫| 丁香五月婷婷激情中文| 爱超碰性| 久久无码激情视频| 另类激情五月| 97在线刺激| 激情五月婷婷网| 在线免费视频caop| 天天爽天天日人人爱| 欧美五月婷婷| 丁香五月婷婷激情四射| 思思99re这里只有| 99国产在线精品视频| 色色自拍视频网站| 人人操AV| 激情五月天色色网| 色色色色色色网站| 婷婷五月丁香综合桃花色网| 人人爱国产| 色综合99无码| 五月丁香狠狠| 秋霞少妇AV网站| 五月青青草综合| 婷婷色情 | 五月天开心成人网| 婷婷香草网| 99热精品10| 26uuu国产| 丁香六月 婷婷六月| 大香蕉五月丁香| 四季AV综合网| 五月成人天| 4438全国最大视频成人网站在线观看| 婷婷色Av| 亚洲av综合在线| 欧洲亚洲精品| 色五月婷婷激情基地| 无套内射极品大美女| 亚洲99一级无嗎特制在线| 四五月婷婷| 久月久在线视频| 婷婷射婷婷舔| 91久久精品视频| 99碰网站| 五月色网| 狠狠综合网| 免费AV黄在线播放| 超碰人人摸人人操| 人人人va亚洲视频在线| 97超喷视频在线观看| 97丁香五月| 婷婷五月综合色拍| 激情综合无码| 亚洲色婷婷色| 性做久久久久久久免费看| 激情婷婷丁香色五月| 久热久69| 99在线观看精品视频| 亚洲最大在线| 五月丁香六月婷| 99热综合在线观看| 东北熟女视频99| 天天噜| 六月婷婷网| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 精品久久艹| 亚洲一区国产传媒| 99热这里只有精品8| 日本女天天爽| 五月天激情美女久久| 五日激情综合| 日本综合久| 七月婷婷色香综合网| av在线中文| 久久er+| 国产女人十八水真多1| 五月色婷婷综合| 天天日夜夜操五月| 射久久丁香五月| 性色做爰片在线观看WW| 日日干天天爽| www,五月天com| 激情六月婷婷啪啪| 五月丁香久人妻中文| 丁香五月天人体| 婷婷香蕉视频| 五月婷婷丁香| 夜夜夜夜夜操| 久草五月天电影网| 综合久久六月| 婷婷激情综合网| 婷婷亚洲综合| 99爱免费在线观看| 丁香五月最新网址| 五月丁久久| 超碰色综合| 九九热视频免费的| 九九热视频精品2| 九 九九九AV| 亚洲高清在线| 精品成人在线观看| 丁香婷婷色五月合集| 996热re视频精品视频| 日本波多野结衣视频| 国产99热| 亚洲天天| 性婷婷| 色99自拍| 狠狠色婷| 狠狠穞A片一區二區三區| 天天夜夜六月丁香五月婷婷老师| 噜噜色五月| 操逼巨乳91| 天天日中文| 99热免费| 欧美va视频| 丁香色五月婷婷91桃色| 婷婷激情综合无月| 欧美大香蕉视频| 伊人九九68| 美国少妇性做爰| 色婷婷电影网| 丁香九九九九| 五月天婷婷在线播放| 丁香五月天天日| 亚洲无码11| 五月丁香六月停停停| 在线另类| 91色久| 日韩成人综合网| 天天干天天操天天爽| 五月婷婷色激情| 玖玖九九99| 色婷婷中文字母五月丁香| 成人看片网站| 色五月超碰| 午夜成人在线免费视频| 91综合网| 亚洲精级| 国产在线网| 国产99久久久国产精品免费看| 亚洲在线操| 婷婷色五天| 99热99精品| 丁香五月婷婷五月天| 无码人妻一区| 色五月婷婷亚洲最大| 开心五月深爱五月丁香五月激情五月 | 九九热这里只有精品556| 玖玖视频福利| 九九五月天| 在线观看亚洲视频影院| 天堂久久精品| 中美日韩成人在线| 色综合久久888| www.99久久久| 久久精品4| 婷婷五月激情网站| 成人做爰A片免费看网站找不到了| 51成人| 伊人丁香六月婷婷| 七七九九色色| 五月丁香日本在线视频观看| 久久综合网免费视频| 激情综合网婷婷久久| 五月天色婷伊人| 日本在线噜噜| 亚洲激情五月天| 婷婷大乡焦噜噜| 亚洲av日韩无码| 99热国产免费| 欧亚成人A片一区二区| 大战熟女丰满人妻AV| 区欧美日韩成人| 东京热人妻一区二区三区在线| 丁香五月激情啪啪啪| www.91婷婷| 久久精品五月天| 91一起艹| 伊人五月人妻精品| 五月六月伦理| 任你日视频| 五月丁香六月激情在线| 屁股翘好撅高迎合跪趴| 日操夜操天天操不卡| 色婷婷无吗| 超碰在线99| 婷婷久久五月| 丁香五月久久综合| 亚洲免费观看高清完整版AV线| 激情丁香五月| 97色射| 丁香 亚洲 久久| 久月丁香爱婷婷综合| 五月天成人在线| 久久 天天| 少妇性按摩无码中文A片| 久久99日本精品视频免费观看| 9 9热这里有精品| 亚洲AV网址| 天天肏天天爽夜夜爽| 色噜噜狠狠色综合日日| 色色色色色色色色综合网| 色综合久久久无码中文字幕999| 婷婷欧美| 亚洲色亚洲精品| 五月婷视频在线| 丁香五月在线观看| 九九综合五月欧美| 激情五月天激情网| 奇米四色五月天| 狠狠色五月激情| 七七色色综合| 成人视频网| 五月亭大香蕉| 五月丁香在线国产| 亚洲成人免费电影| XX色综合| 91狠狠综合久久| 99热无码首页| www.99色| 久久久久久婷| 激情涩涩网| 99热在线精品观看| 欧美三级A做爰在线观看| 另类精品视频在线观看| 五月WWW| 九九香蕉网| 色综合av超碰| 婷婷五月天激情亚洲小说| 午夜五月天| 碰久久精品w| 香蕉婷婷色五月| 婷婷久久99| 一区二区三区XXXXXX| 5月激情天| 五月天偷拍| 丁香五月婷婷久久久| 热久久66| 丁香五月综合| 亚洲成人av在线观看| 久久狠狠干| 婷婷五月天首页| 激情久久久| 青青草视频免费观看| 五月久久婷婷丁香| 九九免费精品| 性色做爰片在线观看WW| 色婷婷狠狠| 色婷婷导航| 久久38视频| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 国产精品色一哟哟| 五月丁香婷婷六月| 伊人激情综合网| 欧美婷婷成人| 色婷婷玖玖影院| 五月丁香婷庭在线| 五月天婷婷狂暴白浆| 狠狠88综合久久久久噜噜噜| 狠狠干,狠狠操| 婷婷中文在线| 大香蕉五月天婷婷| 91 原创 在线 九色| 色婷婷电影网| 九97免费视频| 五月天婷婷婷| 婷婷爱五月| 热的国产,热的综合,热的有码| 97人人超| 人妻AV在线| WWW久久久| 五月激情丁香五月| 99热这| 五月色婷婷综合色| www.激情| 五月天色婷婷激情综合|