99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜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 瀏覽器控件的剛需。前陣子維護一個模擬項目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
返回資訊列表
少妇人妻偷人精品无码视频新浪| 丁香激情综合| caopeng97日韩| 欧洲第一无人区观看| 亚洲mm色| 99色在线视频观看| 99碰| 色情婷婷久久五月天| 亚洲婷婷免费| 。久久久久久久久久久久久久人妻| 91亚洲天堂| 久热99| 色情免费视频播放| 人人舔人人色人人高潮| 激情五月婷婷免费视频| 超碰日日操| 中国女人做爰A片| 婷婷五月丁香在线视频| 九九这里只有精品在线视频| 91人碰| 第九色区av天堂| 日日杆天天| 九九精品片一| 色色成人網| 久久伊人婷| 狠狠狠狠狠狠| 99热这里是精品| 亚洲色99| 色综合久久五月天| www色综合| 婷婷色播色五月五色五月天色妇| 婷婷伊人久久| 91视频精品99| 嫩草视频在线观看| 少妇性BBB搡BBB爽爽爽电影| 五月天综合网| 欧洲色色| 少妇人妻人伦A片| 另类激情综合| 97操操| 天天天干夜夜夜操| 五月婷婷丁香五月 | 久久丁香五月综合六月激情红杏视频| 大香AV| 日本不卡高字幕在线2019| 午夜丁香婷婷| 99精品在线播放| 欧美成人日韩| 97九色视频| 久久久潮喷-久久久九九-成人AV| 六月丁香啪| 成人国产欧美大片一区| tingtingcaobi| 国产真人做爰视频免费| 九九综合九| 色情五月丁香| 国产欧美日韩综合精品一区二区| 久久综合九色综合97婷婷| 婷婷网五月天| 国产性av| 97黑人精品区| 99色在线视频| 99热精品在线播放观看| 激情五月天色婷婷综合| 激情綜合W W W,激情五月天| 棕合影院色色| 丁香五月天激情综合| 九九人人操| 五月丁香综合| 丁香五月激情五月| 久热69| 欧美大香蕉视频| 久久99精品久久久久久三级| www.婷婷五月| 99热综合在线观看| 日本美女五月天| 五月天丁香成人| 色色色五月婷| 成人精品视频99在线观看免费| 国产精品色色| 婷婷五月激情视频网| αV电影| www,色综合| 狼人婷婷久久| 国产淫熟妇| 婷婷亚洲色| 九九热只有精品| 开心五月网| 五月丁香激情六月| 成人片在线播放| 黄色AV日韩| 久久久久久人妻| 五月激情小说| 手机旧版看人妻1025| 婷婷激情四射| 怡红院视频| 五月天丁香综合久久国产| 久热大香蕉| 激情五月婷| 婷婷六久久| 91热网址| 欧美色色色色色色色| 2020日日干| 97久久超碰| 欧美十二区| 手机旧版看人妻1025| 91五月天| 色婷婷www| 久久er99热精品一区二区| 婷婷在线日韩综合| 第二色AⅤ| 国产偷人妻精品一区| 任你爽精品免费视频6| 五月综合激情网| 91九九热| 日本熟女一区二区| 五月色综合| 婷婷丁香五月天操逼| 超碰人人干| www一区二区三区| 色播综合| 五月丁香黄色视频| 久久草大香蕉| 大香蕉婷婷丁香天堂AV| 色五月涩涩婷婷| 日本一级一级一级一级| 亚洲av成人在线| 97五月天婷婷| www,婷婷,com| 很操日本7| 情色婷婷五月天| 黄网在线免费观| 久热9| www.成人婷婷综合| 丁香五月瑟瑟| 色丁香影院| 日本狠狠干| 色噜噜夜夜夜综合网| 亚洲中文乱字字幕线在永久| 桃色成人网| 色色操| 99成人在线观看| 五月婷三级片| 丁香婷停五月激情综合深爱| 丁香狠狠干| 欧洲激情网站| 亚洲婷婷五月天| www色色色com| 狠狠色噜噜狠狠狠狠综合| 超碰京东热av男人的天堂| 国产SUV精品一区二区6| 激情5月婷婷狠狠干| 色五月婷婷综合| www综合久久| 欧美日韩AAAA| 在线中文亚洲| 97人人干人人操| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 婷婷丁香一月| 亚洲12p| 美女亚洲五月丁香| 国产乱人偷精品人妻A片| 7月婷婷六月丁香| 六月丁香啪啪| 精品久久人妻热| 色五月丁香网| 五月婷婷久久开心网| 高清无码入口| 国产淫熟妇| 2018国产大陆天天弄| 99色这里| 久久婷婷六月综合国际| 婷婷丁香18| 伊人大蕉香| 亚洲激情婷婷| 夜夜久久综合网| 五月丁香啪啪综合| 激情五月婷婷欧美极品| 91午夜婷婷狠狠久久综合9色| 日日干综合| 青草青草视频2免费观看| 色狠狠六月| 丁香网五月天| 五月婷婷草| 另类激情五月| 免费看欧美成人A片无码| 九九久久五月天| 婷婷六月丁香五月| 午夜婷婷五月天| 超91在线视频| 大香蕉520| 婷婷大美在线| www.五月天色色色| 极品人妻VIDEOSSS人妻| 亚洲VA口| 色综合久久伊伊婷婷五月| 老师高潮流白浆喷水的A片| 丁香婷婷视频一区二区| 99人人干| 五月天婷婷网站| 99色热视频在线| 激情综合区| 狠狠综合网| av操一操| 国产va在线视频| 香蕉曰比| 五月婷婷五月| 另类视频五月天| 欧美日韩91| 日韩在线观看网址| 婷婷六月啪啪| 午夜成人综合| 九九婷婷五月天| 91丨九色丨东北熟女| 这里只有精品免费视频| 开心五月网 | 噜噜噜久久| 亚洲视频丁香网va| 超碰操网| 黑人熟妇一区二区三区| 五月天婷婷基地| 亚洲五月花| 国产Va视频| 狠狠色九月| 六月丁香五月天| 天天天操天天天日| 97人人操人人爽| 日日夜夜狠狠操| 欧美天天爽| 9l久久久视频| 99久久9| 天天干天天干天天操| 婷婷色激情网| 色欲av伊人久久大香线蕉影院 | 开心五激情网| 五月婷婷高清| 婷婷久久网| 97人人操人| 噼里啪啦在线观看免费完整版视频| 激情小说在线视频| 亚洲色激情| 色宗合,宗合网| 激情另类综合| 九九久久99精品免费观看www| 日韩欧美不卡| 人人色人人弄人人操| 五月花激情| 丁香五月在线播放| 五月天婷婷丁香基地在线观看| 五月的婷婷六月丁香| 日韩成人综合网| 婷婷成人在线| 91疯狂操操操操| 99久久婷婷国产综合亚洲| 五月丁香激情啪啪| 国产在线aaa片一区二区99| 久久黄色片| 色亚洲婷婷| Av性爱网站| 久久婷婷热| 91婷婷伊人牛牛| 综合激情在线观看| 五月久久婷婷天堂视频| 成人亚洲精品| 天天做天天爱高潮片| 99在线视频资源| 免费啪啪啪网站| 人人操人人妻| 99亚洲精美视频在线观看| 六月婷婷操逼| 激情视频综合| 九九成人精品免费视频| 激情综合青草| 99在线精品免费视频| 人人爱国产| www.五月.com| 99久久国产宗和精品1上映| 国产乱妇无乱码大黄AA片| AV人人操| 国产黄大片在线观看画质优化| 中文人妻AV久久人妻18| 日本久久九| 97男人天堂| 国产婷婷久久| 五月丁香六月婷综合成人综合| 日夜操B| 韩日在线熟女| 草逼大片| 婷婷99| 六月丁香五月婷婷| 五月天天综合网色婷婷| 国产日韩av片| 丁香五月图片| 天天操夜夜肏| 九九精品综合| 国产午夜成人免费看片无遮挡| 97啪在线观看视频| 成人婷婷| WWW,色五月| 婷婷综合网伊人| 婷婷五月伦理网站| 涩五月婷婷| 俺也去色| 男人的天堂五月丁香| 1024人妻| 天天做天天爱天天爽综合网| 五月婷婷中文字幕| 五月丁香另类网| 欧美激情中文字幕| 五月天激情中文字幕| 婷婷婷婷婷开心无码播放| av色婷婷| 丁香六月亚洲| 五月天婷婷在看| 深爱五月激情| 欧美人与性动交CCOO| 婷婷五月天激情网站| www99在线观看视频| 亚洲天堂热| 91人人妻人人操人人爽| 五月天激情综合首页| 97五月天婷婷| 五月婷视频| 9超碰在线| 自拍偷窥99热| 草五月| 婷婷五月丁香五月| 亚洲操逼网| 99成人精品视频| 丁香五月婷婷基地| WWW免费视频碰碰碰碰| 色色影院aaaav| 激情都市丁香婷婷| 9热成人在线视频| 91人妻PORNY九色大屁股| 五月激情网综合| 亚洲色婷婷| 人人操91色| 六月婷婷网| 五月天综合在线观看视频| 国产高潮A片羞羞视频涩涩| 丁香五月色五月| 日逼免费视频| 国产精品久久欧美久久一区| 婷婷丁香五月亚洲欧美| 六月婷婷激情| 大香蕉五月天婷婷| 99在线精品视频| 丁香激情六月天婷婷| 色99热| 成人国产网站| 成人丁香婷婷| 99热热热99精品丁香| 99操碰| 超碰高清在线| 日本女人久久| 91凹凸在线| 3DAV亚洲香蕉久久 一区二区| 97涩涩丁香五月天| 国产偷人爽久久久久久老妇APP| 超碰久热| 亚洲成人免费电影| 婷婷天天舔| 26uuu精品国产| 狠狠99| 五月婷婷色播| 操逼视频一区| 另类综合婷婷五月天欧美视频| 性欧美大战久久久久久久83| 99热这里只有精品一| 五月天伊人| 色欲婷婷夜夜| .精品久久久麻豆国产精品| aaaaaa片| j五月香在线| 69er小视频| 综合久久激情久久| 五月婷婷啪| 去色色五月天| 婷婷成人综合| 色之综合网| 久/久精品99看9| 久久久婷婷| 婷婷伊人网| 综合色播| av人人操| 1区2区视频| 天堂久久性| 91久久综合亚洲鲁鲁五月天| 五月天成人免费视频| 丁香五月图片| 久久日婷婷| 伊人五月天在线| 99啪啪网| 白人荫道BBWBBB大荫道| 激情五月,色播五月| 91天堂网综合| se99视频| 天天插天天插天天插| 成人一区在线观看| 婷婷五月丁香五月| 久久这里都是精品| 伊人婷婷大香蕉| 天天做天天爱天天爽| 五月天婷婷六月| 日日夜夜九九| 9999久久久久| 色综合色综合网| 1024操逼视频| 色青青电影色五月| aa久久| 丁六月激情| 青青草婷婷久久| 欧美日综合| 久久久五月激| 日韩欧美颜射| 亚洲日韩操B| 色在线视频网2025| 婷婷瑟五月天久久综合| 婷婷五月天综合久久| 五月婷婷久久综合| 超碰在线9| 久色视频首页| 日韩情色在线观看| 欧美69久成人做爰视频| 996热re视频精品视频| 伊人丁香五月| 99色色爰| 97亚洲婷婷| 青草青草视频2免费观看| 第五色婷婷| 5月色亭亭视频| 热久69| 久久丁香五月天| 五月激情综合美女久久| 五月天成人在线视频丁香| 99热99草97| 成人在线日韩| 狠狠爱婷婷| 五月天艹天天| 亚洲久久婷婷丁香五月天| 亚洲色图啪啪| 久久XX日本综合| 丁香五月婷婷啪啪| 91碰碰| 桃色五月天| 囯产精品一品二区三区| 久久性爱视频免费| 亚洲色色色色色| 91色在线 | 日韩| 色五月激情五月| 97综合在线| 五月花免费视频| 亚洲人妻一区二区| 五月婷婷综合激情| 久久综合网免费视频| 色久女| 亚洲成人AV在线| 色婷婷8| 亚洲爆乳无码精品AAA片蜜桃| 国产成人av在线播放| 色五月激情| 五月色俺婷婷| 色五月成人在线| 国外亚洲成AV人片在线观看| 婷婷五月色| 五月婷婷综合久久| 超碰日日操| 色五月综合| 色五月婷婷久久| 五月丁香激情婷婷综合| 婷婷五月天男人影院色色网| 噜噜噜噜噜色| 五月婷婷色五月| 这里只有久久精99| 婷婷丁香18| 青青草成人网| 久色激情| 激情www| 色婷婷五月综合| 丁香五月婷婷啪啪| 五月天堂色| 日韩成人无码人妻| 久久久网站| 色五月激情综合网| 亚洲精品V天堂中文字幕| 国产毛片精品一区二区色欲黄A片| 五月色网| 婷婷伊人综合| 日熟女| 丁香五月中文字幕| 日日天天天| 欧美性爱特黄一级aaaassss| 激情五月丁香六月婷婷| 五月婷婷亚洲色视频| 婷婷午夜综合| 99久在线精品99re8热| 五月天激情网图片| 123日本不卡在线| av五月丁香婷婷网| 婷婷五月天激情网| 人人色AV| 婷婷色综合| 精品久久人妻| AVDV久久| 六月丁香开心婷婷欧美| 人妻中文字幕网| 欧美熟女99| 亭亭丁香久久五月| 五月色影院| 中文字幕综合网| 99免费视频| 五月丁香婷婷狠狠操| 婷婷五月天中文字幕| 另类激情码| 人人爽人人射-美女久久久久久久久久-成人AV| 米奇影视五月天| 色婷婷综合亚洲| 成年AAAA色情| 色五月婷婷一二| 99re思思久久| 综合超碰熟| 射久久丁香五月| 天天草人人摸| 五月丁香激情综合网| 国产精品美女| 天堂网色色| 国产亚洲色婷婷99精品| 色婷婷五月天视频网站| 久久精品99国产精品日本| 操比激情五月| 天天在线久久综合 | 日本系列_4页_777FP| 天天综合色| 最新日韩久热免费视频看看| 任你草| 丁香五月综合图片在线观看| 久久久久久久久久8888| 99热很操老逼| 深爱五月天天| 大香蕉久久婷婷精品综合| 久久在线视频免费观看| 99色在线视频| 日本欧美成人片AAAA| 这里只有精品久久| 婷婷五月丁香色播| 五月丁香AV在线| 激情五月天视频| 色色五月综合| 精品A√| 五月丁香六月色| 在线看av| 俺去也五月| 亚洲日韩一页精品发布| 五月婷婷高清| 99热9| 九月色婷婷综合| 。久久久久久久久久久久久久人妻| 天天精品视频免费观看| 在线中文字幕av| 婷婷综合精品视频97| 少妇大叫太大太粗太爽了A片| 久操人妻| www.日日夜夜.com| 久久九区| 日本三级日本三级99| 69色婷婷| 婷婷色综合| 色播激情| 桔色成人在线| 亚州第一A片| 男女久久婷婷五月天| 来吧亚洲综合网| 久久人操| 婷婷激情社区| 五月天国产成人| 五月天婷婷视频| 日韩超碰在线| 久久激情五月天| 在线观看亚洲AV| 五月婷婷五月色| 天堂网亚洲色图| 色情五月停停丁香| 九月丁香欧美综合| 综合XX网| 9操在线| av在线资源| 日本久久天堂| 狠狠操狠狠爱| 伊人婷婷色激情丁香| 7EzOBIhNq85TO| 99色视频在线观看| 五月丁香婷婷色播无码| av在线免费网站| 亚洲AV综合在线观看| 色色色色五月天| 99热乎| 少妇做爰免费视看片| 午夜丁香六月婷| 大香蕉在九| 色久五月天| 免费在线a| 中文久久婷婷| 色五月xxx| 日韩AV无码影片| 五月丁香六月婷婷开心网| 热99久| 欧美色婷婷| 婷婷五月天激情偷拍| 激情第四色| 五月婷婷综合色拍| 激情宗合 激情宗合| 激情五月婷婷| 婷婷丁香77777| www.婷婷com| 色色色热热热| 99热久久这里只有精品| www.1024久久| 天天插天天爱| 人人摸人人搞| 久久综合激情五月天| 色狠狠色综合久久久绯色aⅴ影视| 亚洲第79页| 激情综合无码| 97成人在线视频| 亚洲精品国产setv| 日日夜夜爽爽| 成人短视频在线| 97caop| 色噜噜狠狠色综无码久久合欧美 | 99久久66综合| 影音先锋一区二区三区| 这里只有精品日韩精品| 99热99| 婷婷综合网站| 开心婷婷五月天激情网| 激情com| 海外网站专业操老外| 日本片日本片祼观看网站在线看中文版网页在线看 | 91热99| 亚洲 无码 中文字幕 中出 | 激情五月天之五月婷婷| www.99婷婷| 亚洲妇女熟BBW| 五月婷婷丁香综合| 五月丁六月香| 99精品国产在热久久| 五月丁香色综合| 五月天久久婷婷婷| 婷婷大香蕉| 丁香花操逼| 婷婷情色开心五月天99| 99热综合| 99爱爱网| 久久免片| 夜夜人妻五月天| 99热狠狠操| 噼里啪啦完整版中文在线观看 | 精品人妻久久久久久| 婷婷五月天激情偷拍| 99九九99九九九视频精彩| 十二区无码| 99热在线观看| 丁香五月色| 久久超级碰碰| 免费播放片大片| 真实亲子乱子伦高清在线观看| 逼逼AV| 成人va在线观看视频| 玖玖午夜视频| 九九十99视频| 色欲婷婷五月天丁香| 久久激情婷婷| 99久久五月婷婷| 婷婷五月天淫荡| 99原创自拍视频在线观看| 九色91视频| 女人天堂AV| 99综合| 久久美女五月天| 激情五月丁香五月| 色婷婷五月天视频网站| 99热这里只有精品66| 在线可以看的av网址| 亚洲激情无码久久| 99re久热只有精品6在线直播| 五月丁香六月激情综合网| 五月天婷婷激情网| 伊人婷婷91| 色欲久久久久久综合网综合网| 亚洲婷婷激情综合激情999精品| 久久综合五月婷婷| 91疯狂操操操操| 久久99精品久久久久久噜噜| 九九热欧美| a色色色色色| 中文资源在线a| 五月丁香婷中文| 综合亚洲六月婷婷在线| 99热这是里只有精品| 婷婷丁香五月天在线视频| 丁香六月激情综合网| 开心五月激情五月丁香五月婷婷| 九九精品网站| 2020久久婷婷五月| 噜噜久| 五月丁香六月激情| 五月丁香六月成人| 欧美性生交XXXXX无码小说| 国产在线网址1| av免费在线观看0| 狠狠爱婷婷色| 欧美激情丁香五月| 婷婷五月中文字幕国产| 激情五月天婷婷在线网址发给我| 九九色99| 色噜噜丁香| av一级棒av| 亚洲激情五月| 99re思思| 九九热视频精品| 超碰99热精品| 五月婷在线| 99玖玖精品| 91狠狠综合久久久久久| 色色色精品无码区| XX色综合| 人妻少妇色综合| 九九综合五月欧美| 色婷婷天堂| 天天 日综合| 亚洲六月婷婷| 影音先锋女人AA鲁色资源| 婷婷六月天| 91操片| 天天综合网亚洲综合网| 激情综合五月天| 牛牛澡牛牛爽| 色狠狠综合| 婷婷综合爱| 亚洲婷婷丁香| 久草丁香婷婷1024| 久碰视频| 丁香五月在线播放| 狠狠爱深色婷婷综合| 99热新网址| 婷婷五月综合视频| 亚洲色综合| 啪啪操超碰| 婷婷五月色网| 五月天色婷婷综合| 大伊香蕉玖玖爱| 五月丁香欧美综合免费视频| 99热99美国在线观看| 99欧美热| 人妻系列久久久久久久久久久| 在线观看婷婷5月| 不卡在线视频| 久这里只有精品| 色色五月天丁香| 99资源人人| 丁香五月狠狠综合欧美| 91美女被操| 青青草Avb在线| 久久思思热视频| 99这里有精品| 日本老女人黄页在线播放| 深爱激情五月天| 丁香99| 婷婷五月天亚洲精品| www.色婷婷| www.99热| 九九九九毛片| 丁香九月综合| 98色花堂98t.R| 亚洲Av成人在线观看| 99久久精品视频女神1| 丁香五月影院| 天天弄天天爽| WWW,五月| 这里只有精品免费在线视频| 亚洲AV成人在线| 亚洲成人中文字幕| 亚洲中文乱字字幕线在永久| 任你日视频| 超碰男人色| 99热99久久| 婷婷综合在线播放| 久久色9| 操逼巨乳91| 天天插天天插| 99在线观看精品| 色哟哟精品| 九色PORNY在线精品酒店| 五月激情婷婷六月| 综合久久六月| 天天色天天日天天舔| 久久久久婷 | 五月婷婷激情| 久久婷婷六月| 国产精产国品一二三在观看| 丁香五月激情欧欧美| 性色做爰片在线观看WW| 五月丁香六月婷婷综合网| 日本精品人妻无码77777| 婷婷五月精品在线| 无码人妻一区二区一牛影视| 天天透天天爱| 五月婷婷狠狠干| 丁香五月婷久久| 九九青青草成人| 色婷婷亚洲婷婷| 色的色综合| 玖玖婷婷五月天毛片| 五月婷婷成人| 深爱丁香网| 青青久久91| 五月婷色色| 久久婷婷五月综合色播| 久久综合色情网站| 色色激情五月天| 五月丁香六月综合激情无码软件亮点| 任你日视频| 五月开心播播网| 五月天色综合| 思思网站| 丁香五月激情欧美| 六月激情婷婷| 欧美综合在线五月天色婷婷| 99热精品超碰| 日本色婷婷| anquye五月| Www99热| 中文字幕一色哟哟哟哟| 久久婷丁香五月| 天天干-天天日| 五月色丁香| 色五月婷婷在线观看第一页舔| 色五月色图| 亚洲、热| 亭亭丁香aV| 日本三级网址| 青青草婷婷五月天| 色欲色香综合网| 欧美xx激情视频在线观看| VA五月激情在线| 丁香六月婷| 色99综合色88| 久久98| 色综合中文| 综合五月丁香六月婷婷| www色婷婷久久综合久色 | 国产乱妇无乱码大黄AA片| 五月婷婷偷拍| 国产无套精品一区二区| 人妻五月天激情开心网| 99久在线精品99re8热| 婷婷激情四射五月天| 日本欧美成人片AAAA| 婷婷五月天激情文学| 五月天偷拍| 久久精品亚洲一级牲爱综合| 极品 少妇 内射| 五六月婷婷| 伊人色综合影院视频| 亚洲区1| 色六月 婷婷| 欧美日综合| 国产在线中文字幕| 成人版视频在线观看| 婷婷色五月丁香六月欧美啪| 综合综合网| 性爱电影科技贸易有限公司| 熟女激情网| 久久激情视频99| 九九色色网| 超碰不卡在线| 伊人五月天97| 久久综合五月| 99热一本久道| 免费在线a| 超爽内射| 大香婷婷| 日本精品干| 五月丁香婷婷婷激情爱爱| 久久人视频| www. 五月. com| 色婷婷aV四虎| 婷婷五月激情视频网| 国产高清视频91九九九久久久| 色婷婷综合久久| 婷婷激情五月呦呦| 婷婷五月成人社区| Av免费网站在线| 久久精品天| 午夜婷婷久久| 九洲一级A片| 久久激情五月婷婷| 综合狠狠伊人| 五月天激情在线视频| 亚洲五月丁| 国产成人va在线| 亚洲欧美另类在线23p| 婷婷伊人五月天| 在线超碰91| 日熟女| 九九九热精品| 色六月天天激情综合网| 狠狠擼综合| 午夜电影网VA内射| 欧美综合激情丁香五月六月婷| 99玖玖在线视频| 五月丁香另类图片| 亚洲激情免费久久| 99热只有精品在线观看| 天堂草在线看www| 免费播放片大片| 日韩AV大全| 欧美槡BBBB槡BBB少妇| 9视频在线成人网站| 国产婷婷五月| 99热最新网址| 婷婷五月天影视| se影音资源在线观看| 91九色熟女| 婷婷中文字幕| 久久激情婷婷| 色色激情五月天| xxx综合在线| 久久人妻精品| 亚洲无码99| 婷婷WWW久久| 日夜操B| 性色99| 久久久久久久97| 99免费超碰在线| 国产99久9在线| 婷婷久久五月| 激情丁香五月天图片| 五月丁香综合激情网| 青青草原亚洲久| 亚洲精品影视| 成人丁香婷婷五月天| 精品在线网站| 婷婷五月综合性爱| 97干97色| 99av视频| 亚洲黄色影视| 91丁香| 少妇婷婷五月天| 成人网址在线观看| 四川女人毛多水多A片| 成人av在线网址| 亚洲小说欧美激情| 超碰在线国产| 操碰99在线视频观看| WWW,色五月| 深爱激情五月网| 国产精品成人AV在线观看春天| 99伊人性爱在线影院| 人人添人人| 超碰精品在线| 亚洲第一影院高清无码网站| 色婷婷五月天激情久久| 另类图片激情五月| 久久丁香婷婷色情综合| 99热6这里只有精品6| 丁香五月激情啪| 亚洲在线网站| 亚色网站小视频| 成人视频一区| 伊人九九综合| 婷婷五月天激情丁香| 成人无码髙潮喷水A片| 亚洲AV网站在线观看| 五月丁香龟婷婷| 天堂无码人妻精品AV一区| 99久久久免费| www.色九月| 亚洲中文AV网站| 色丁香久综合在线久综合在线观看| 色综合99| 97在线综合| 天天综合久久| 五月天大香蕉AV| 日日夜夜小色哥| 热思思九九| 九九免费精品在线视频| 91狠狠色丁香婷婷综合久久精品| 丁香五月婷婷99| 深爱婷婷丁香五月激情| 色婷婷综合久久| 五月丁香AV、伊人业余、性色熟妇 | 少妇高潮呻吟A片免费看软件| 五月丁香A片| 开心五月婷婷激情| 色婷婷大香蕉| 久久婷婷丁香五月宗合| 五月婷婷真爱激情网| 香港九九六区八区99| 蜜乳A√| 色偷偷AV亚洲男人的天堂| 六月丁香婷婷五月天| 色色综合网站| 97自拍视频在线| 99re热在线视频| 婷婷五月激情图片| 99热都是精品| 欧美内射AA| 99热官网精品在线| 大香蕉九九| www.婷婷五月天.com| 看婷婷五月天网| 深爱五月天| 99er6| 99热网精品| 五月天成人在线| 婷婷色综合网日韩国产| 六月婷婷九月丁香亚洲综合| 91成人看| 噜噜狠狠色综合久| 久色网址| 99∨VTV| 五月激情丁香五月宗合| 在线成人va| 久久只有18视频| 97热久久| 91久热| 五月婷婷综合网在线播放| 香蕉人妻AV久久久久天天| 五月婷婷婷婷婷婷艺术| 日本97人人| 亚洲精品视频电影| 色噜噜狠狠色综合日日| 青青草免费公开视频| 蜜桃婷婷丁香| 综合精品99| 久热黄色| 99热6这里只有精品6| 丁香五月婷婷激情四射深爱激情| 人人妻久久妻| 色碰碰| 日本猛少妇色XXXXX猛叫| 色综色五月天婷婷| 2015WWW永久免费观看播放| 丁香色婷婷| 五月天五月色| 9热在线视频| 99热精品中文字幕| 丁香五月天激情AV| 91在线日本| 色综合久| 玖玖热视频| 激情文学 综合 色| 色六月 婷婷| 五月丁香成人| 国产热精品| 亚州操逼网| 少妇真实被内射视频三四区| 五月婷婷官网色| 99开心五月五月丁香激情| 久9综合| 亚洲人妻av| 中国激情网| 色噜噜狠狠色综合日日| 日本性视频| 婷婷狠狠干| 婷婷精品性性性性性性性| 欧美日朝成人| 激情五月天.色网| 色中色综合| 激情五月少妇| 九九熱最新視頻| www99xxxx五月丁| 大香蕉av在线| 热久久这里只有精品| 无码G高清天| 97色色婷婷五月天| 激情综合网婷婷五夜| 日本三级中国三级99人妇网站| 五月天婷婷黄色| 女性自慰系列第五页| se婷97| A片试看50分钟做受视频| 九九99九九99| 天天操天天操天天操天天操天天操天天操| 色情综合网| 停停综合色色| 99爱操| 五月天久久久| 五月综合激情| 丁香婷婷视频| www.91五月| 婷婷久久综合久| 97狠狠色| 色天五月天在线观看视频| 丁香五月天无码| 激情综合4月| 97色婷婷五月天| www.99免费视频| 九月丁香婷婷基地| 五月天婷婷综合网| 伊人99热| 97人凄人人操人人爽| 99久久6| 99热这里只有精品最新| 五月激情另类| 婷婷成人综合| 五月婷婷综合激情网| 日本97在线| 日韩美女在线视频19| 丁香五月天堂婷婷| 欧美性生交XXXXX无码小说| 激情综合五月| 综合99久久| 狠狠99| 色在线99| 天天日天天插| 亚洲色优| 日韩三级高清无码| 色在线视频网2025| 色色网站免费| 丁香五月天AV| 亚洲热视频在线| 99视频久久| 五月婷婷在线视频观看| 色爱亚洲| 亚洲五月婷婷| 99热这里都是精品| 97欧美在线| 综合99综合久久久久久久| 啪啪 综合网| 五月色婷婷中文字幕| 亚洲黄色精品| 色婷丁香| 婷婷亚洲综合| 五月婷婷激情| 青柠影视免费高清电视剧| 久久综合久色欧美综合狠狠| 一本色道久久88加勒比| 伊人久久大香线蕉精品| 婷婷五月花.97| 蜜乳AV成人| 五月亭亭欧美女人| 婷婷五月色综合| 久久激情五月| 五月丁香成人日| 五月婷婷开心六月激情小说| 婷婷六月激情在线视频| 99热最新| 五月婷婷熟女| 另类小说五月天| 艳妇野外情欲放荡HD| 色婷网站| av操一操| 婷婷综合网站| 五月六月丁香婷婷在线观看| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | va中文资源在线观看| 婷婷开心综合人妻小说网址| 天天碰夜夜爽| 九九这里是免费的视频5| 五月丁香| 97在线观视频免费观看| www.1024久久| 日韩成人中文字幕| 色综合播放| 日本社区五月天激情| 六月丁香啪啪啪| 成人做爰A片免费看网站找不到了| 碰99在线| 婷婷五月AV| 五月丁激情| 丁香五月婷婷五月| 99久久9| 色综合激情| 91viP在线看| 九九视频在线观看视频6| 2021日韩无码| 亚洲色9| 色五月第四色| 91精品综合久久久久久五月丁香| 亚洲国产精品VA在线看黑人| 激情 婷婷| 色在线五月天免费| 久久九九国产精品怡红院| 六月色婷婷| 免费成片在线观看| 开心六月婷| 婷婷金品综合视频| 久久九九国产精品怡红院| 色九月综合| 精热在线综合网| 妻久久人久久| 五月婷婷综合视频| 91天堂网综合| 激情五月丁香色婷婷| 五月婷婷激情日本| 国产精产国品一二三在观看| 亚洲色图五月丁香| 婷婷五月天亚洲图片| 97人人超| 色99超碰| 26uuu亚洲欧美另类| 色色综合网络| 大香蕉520| 情婷婷五月天| 91狠狠综合久久| 99热色婷婷| 色情播放| 综合色五月| 日本毛片内射| 五月社区婷婷激情| 国产亚洲在线观看| 男人天堂AV在线一区二区| 婷婷久久国产视频| 激情综合无码| 色婷婷女优有码五月亭| 我要色综合五月婷婷| 人妻精品在线| 亚洲成人无码免费| yazhou seshipin| 超碰免费人人| 99热碰碰| 丁香五月婷久久| 一级片操逼视频| www久久五月com| www.91操| 国产肏屄大片| 成人精品亚洲性爱| 五月婷婷丁香日韩在线| site:picc-up.com| 色激情五月| 天天色图| 亚洲成人无码网站| 丁香五月天婷婷大香蕉| 婷婷丁香亚洲五月天| AA丁香综合激情| 久久er免费视频| 黄网在线免费观看| 91丨九色丨熟女丰满| 六月激情婷婷| 久久香视频| 色婷婷五月中文字幕在线dvd| 人与禽A片啪啪| 丁香五月狠狠综合欧美| 久久久人妻| 思思99热在线| 少妇人妻人伦A片| 成人视频九九| 久久色情| 五月丁香综合激情在线观看| 五月天啪啪| 120分钟婬片免费看| 狠狠久久婷五月| 翔田千里 50岁 无码| 色婷婷综合亚洲| 久久久婷婷五月亚洲97号色| 激情综合网五月婷婷| 久久九⑨| 五月激情六月丁香| 成年视频免费观看| www.夜夜| 日本熟妇精品99| 思思热在线观看| www.狠狠操.com|