原創(chuàng)|產(chǎn)品更新|編輯:李顯亮|2020-09-15 10:20:57.320|閱讀 333 次
概述:DotNetBrowser全面升級至v2.2!改進(jìn)了屏幕外渲染模式下的渲染性能,還原了允許禁用內(nèi)部Chromium流量的功能,并擴(kuò)展了管理數(shù)據(jù)和用戶與瀏覽器交互的選項,歡迎下載體驗。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DotNetBrowser是一個.NET庫,允許將基于Chromium的WPF和WinForms組件嵌入到.NET應(yīng)用程序中,以顯示使用HTML5,CSS3,JavaScript,Silverlight等構(gòu)建的現(xiàn)代網(wǎng)頁。
DotNetBrowser全面升級至v2.2!改進(jìn)了屏幕外渲染模式下的渲染性能,還原了允許禁用內(nèi)部Chromium流量的功能,并擴(kuò)展了管理數(shù)據(jù)和用戶與瀏覽器交互的選項,還沒有使用過可以點擊下方鏈接下載哦~
DotNetBrowser迎來v2.2版本更新,為了方便大家盡可能順利過度新版本,我們特意準(zhǔn)備了本指南將幫助您了解新版本都要哪些新增與改動。
新增
渲染效果
在所有受支持的平臺和UI工具包上,屏幕外渲染性能均得到了改善。以下是在不同平臺上以每秒幀數(shù)(FPS)的HTML5視頻進(jìn)行渲染性能測試的結(jié)果:
Chromium
現(xiàn)在可以節(jié)省不必要的流量,例如Google Cloud Messaging,翻譯排名,擴(kuò)展程序更新程序,安全瀏覽等Chromium服務(wù)。這些服務(wù)與DotNetBrowser當(dāng)前不支持的功能有關(guān)。可以按照以下步驟完成:
EngineOptions engineOptions = new EngineOptions.Builder { GoogleTrafficDisabled = true }.Build();
禁用PDF查看器
現(xiàn)在,可以選擇是在PDF查看器中顯示PDF文檔還是下載它們。默認(rèn)情況下,它們將顯示在PDF Viewer中。以下是切換到下載PDF的方法:
Engine.Plugins.Settings.PdfViewerEnabled = false;
清除HTTP緩存
更好地控制內(nèi)存使用情況。現(xiàn)在,可以將存儲在磁盤和內(nèi)存中的所有HTTP高速緩存條目標(biāo)記為刪除。
重要說明:該IHttpCache.ClearDiskCache()方法被標(biāo)記為“ 過時”,并將在下一版本中刪除。請改用該IHttpCache.Clear()方法。
超滾動歷史記錄導(dǎo)航
DotNetBrowser現(xiàn)在允許在帶有觸摸屏的設(shè)備上向左/向右滑動來向后/向前導(dǎo)航。默認(rèn)情況下,過度滾動導(dǎo)航處于禁用狀態(tài)。可以如下啟用它:
Browser.Settings.OverscrollHistoryNavigationEnabled = true;
重點DOM元素
現(xiàn)在可以在文檔中獲取當(dāng)前關(guān)注的DOM元素。這是一個示例:
IElement focusedElement = Browser.MainFrame.Document.FocusedElement;
IPC消息順序
在以前的版本中,調(diào)用任何處理程序時,可以更改IPC消息順序。例如,當(dāng)網(wǎng)頁上的文本字段包含隨機(jī)混合的字母時,在調(diào)用處理程序時提高鍵盤事件方法可能會導(dǎo)致問題。
在此版本中,改進(jìn)了內(nèi)部IPC邏輯以消除此類情況。這一改進(jìn)對如何處理處理程序中的代碼提出了一項重要要求。如果您執(zhí)行某些邏輯,從而在處理程序內(nèi)部的單獨線程中對庫進(jìn)行同步調(diào)用,并阻塞處理程序,直到邏輯執(zhí)行完畢,您可能會遇到死鎖。例如:
// Register a handler. browser.SomeHandler = new Handler(p => { // Invoke some logic in a separate thread and block the current // thread execution until the logic has been executed. InvokeInSeparateThreadAndWait(() => { // Invoke a synchronousmethod. browser.SomeSyncMethod(); // <-- Deadlock: this method will never return. }); return Response.Proceed(); });
要擺脫可能的死鎖,請改用以下方法:
// Register a handler. browser.SomeHandler = new Handler(p => { // Invoke a blocking method. browser.SomeSyncMethod(); return Response.Proceed(); });
改善
在以前的版本中,相同的用戶數(shù)據(jù)目錄用于所有IEngine未指定自定義用戶數(shù)據(jù)目錄的實例。此目錄通常包含以前保存的數(shù)據(jù),例如代理設(shè)置,Cookie,緩存等。
在此版本中,每次IEngine創(chuàng)建實例時都會創(chuàng)建一個單獨的臨時用戶數(shù)據(jù)目錄,而無需指定自定義用戶數(shù)據(jù)目錄。在處置IEngine實例期間,此目錄會自動刪除。
修復(fù)
如果你對我們的產(chǎn)品感興趣,想咨詢正版授權(quán)折扣價格,請聯(lián)系咨詢~
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn