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