提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|产品更新|编辑:李显亮|2020-04-02 13:36:26.153|阅读 712 次
概述:DotNetBrowser全面进入2.0时代!支持.NET Core 2.2以及Windows上的3.0!同时扩展了新的类,接口,方法,事件和处理程序,还重新设计了图书馆的体系结构!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
DotNetBrowser是一个.NET库,允许将基于Chromium的WPF和WinForms组件嵌入到.NET应用程序中,以显示使用HTML5,CSS3,JavaScript,Silverlight等构建的现代网页。
DotNetBrowser全面进入2.0时代!支持.NET Core 2.2以及Windows上的3.0!同时扩展了新的类,接口,方法,事件和处理程序,还重新设计了图书馆的体系结构!还没有使用过可以点击下方链接下载哦~
DotNetBrowser迎来v2.0版本更新,为了方便大家尽可能顺利过度新版本,我们特意准备了本指南将帮助您了解新版本都要哪些新增与改动。
新增与改善
架构
新架构的结构如下所示:
此更新引入了新的实体:IEngine和IFrame。使用,IEngine您可以访问Chromium核心引擎功能。这是创建IEngine实例的方法:
C#
IEngine engine = EngineFactory.Create(new EngineOptions.Builder { RenderingMode = RenderingMode.HardwareAccelerated, Language = DotNetBrowser.Ui.Language.German, UserDataDirectory = @"C:\Users\Me\DotNetBrowser" } .Build());
VB.NET
Dim engine As IEngine = EngineFactory.Create(New EngineOptions.Builder With { .RenderingMode = RenderingMode.HardwareAccelerated, .Language = DotNetBrowser.Ui.Language.German, .UserDataDirectory = "C:\Users\Me\DotNetBrowser" }.Build())
每个IEngine实例都使用单独的Chromium Main进程。
内加载的每个网页IBrowser都有一个main IFrame。该IFrame本身可能有子帧。您可以IFrame用来访问和使用DOM和JavaScript。例如:
C#
browser.MainFrame?.ExecuteJavaScript("document.title = 'Hello';");
VB.NET
browser.MainFrame?.ExecuteJavaScript("document.title = 'Hello';")
打印预览
使用此版本,可以显示标准的“ 打印预览”对话框,并在您或JavaScript打印网页时选择首选的打印选项:
JavaScript和DOM
自动类型转换
JavaScript和.NET使用不同的原始类型。DotNetBrowser 2.0实现了从JavaScript到.NET类型的自动类型转换,反之亦然。现在,可以编写如下代码:
C#
string name = mainFrame.ExecuteJavaScript("'Hello'").Result; double number = mainFrame.ExecuteJavaScript("123").Result; bool flag = mainFrame.ExecuteJavaScript("true").Result; IJsObject window = mainFrame.ExecuteJavaScript("window").Result;
VB.NET
Dim name As String = mainFrame.ExecuteJavaScript(Of String)("'Hello'").Result Dim number As Double = mainFrame.ExecuteJavaScript(Of Double)("123").Result Dim flag As Boolean = mainFrame.ExecuteJavaScript(Of Boolean)("true").Result Dim window As IJsObject = mainFrame.ExecuteJavaScript(Of IJsObject)("window").Result
自动类型转换
自动类型转换使得可以访问JavaScript DOM对象并通过DotNetBrowser DOM API使用它们。例如:
C#
IDocument document = frame.ExecuteJavaScript("document").Result as IDocument;
VB.NET
Dim document As IDocument = TryCast(frame.ExecuteJavaScript("document").Result, IDocument)
这是如何使用JavaScript DOM对象以及使用JavaScript对象的方法:
C#
IJsObject document = frame.ExecuteJavaScript("document").Result as IJsObject;
VB.NET
Dim document As IDocument = TryCast(frame.ExecuteJavaScript("document").Result, IDocument)
网络
该版本的库允许您通过拦截所有URL请求来模拟Web服务器,并以同步和异步方式提供自定义URL响应。这是有关如何拦截请求和发送响应数据的示例:
C#
network.InterceptRequestHandler = new Handler(p => { UrlRequestJobOptions options = new UrlRequestJobOptions { Headers = new List{ new HttpHeader("Content-Type", "text/plain"), new HttpHeader("Content-Type", "charset=utf-8") } }; UrlRequestJob job = network.CreateUrlRequestJob(p.UrlRequest, options); Task.Run(() => { // The request processing is performed in a background thread // in order to avoid freezing the web page. job.Write(Encoding.UTF8.GetBytes("My data")); job.Complete(); }); return InterceptRequestResponse.Intercept(job); });
VB.NET
network.InterceptRequestHandler = New Handler(Of InterceptRequestParameters, InterceptRequestResponse)(Function(p) Dim options = New UrlRequestJobOptions With { .Headers = New List(Of HttpHeader) From { New HttpHeader("Content-Type", "text/plain"), New HttpHeader("Content-Type", "charset=utf-8") } } Dim job As UrlRequestJob = network.CreateUrlRequestJob(p.UrlRequest, options) Task.Run(Sub() ' The request processing is performed in a background thread ' in order to avoid freezing the web page. job.Write(Encoding.UTF8.GetBytes("My data")) job.Complete() End Sub) Return InterceptRequestResponse.Intercept(job) End Function)
H.264,MP4,AAC
从此版本开始,不再需要*c使用启用的专有编解码器来请求单独的版本来播放H.264,MP4和AAC格式。您可以通过API启用专有编解码器,默认情况下将其禁用,如下所示:
C#
engine = EngineFactory.Create(new EngineOptions.Builder { RenderingMode = renderingMode, ProprietaryFeatures = ProprietaryFeatures.H264 | ProprietaryFeatures.Aac }.Build());
VB.NET
engine = EngineFactory.Create(New EngineOptions.Builder With { .RenderingMode = renderingMode, .ProprietaryFeatures = ProprietaryFeatures.H264 Or ProprietaryFeatures.Aac }.Build())
Widevine
现在,可以启用称为Widevine的专有组件,该组件允许在Netflix,Amazon Prime,Spotify和其他使用Widevine分发内容的Web服务上播放视频/音频内容。默认情况下,Widevine组件是禁用的。使用以下代码将其启用:
C#
engine = EngineFactory.Create(new EngineOptions.Builder { RenderingMode = renderingMode, ProprietaryFeatures = ProprietaryFeatures.Widevine }.Build());
VB.NET
engine = EngineFactory.Create(New EngineOptions.Builder With { .RenderingMode = renderingMode, .ProprietaryFeatures = ProprietaryFeatures.Widevine }.Build())
网站图标
现在可以通过该IBrowser.Favicon属性访问当前加载的网页的收藏夹图标。IBrowser.FaviconChanged网页图标已更改时,也会发生事件。
隐藏滚动条
通过此更新,您可以使用以下方法隐藏滚动条:
C#
browser.Settings.ScrollbarsHidden = true;
VB.NET
browser.Settings.ScrollbarsHidden = True
调用此方法后,IBrowser实例中加载的网页将不再显示滚动条。它对于信息亭应用程序和网页图像很有用。
禁用触摸菜单
该EngineOptions具有允许在Windows 10的触摸设备禁用触摸菜单的附加选项。以下代码段演示了如何完成此操作:
C#
IEngine engine = EngineFactory.Create(new EngineOptions.Builder { TouchMenuDisabled = true } .Build());
VB.NET
engine = EngineFactory.Create(New EngineOptions.Builder With { .TouchMenuDisabled = True }.Build())
功能下降
从此版本开始,DotNetBrowser不再支持.NET Framework 4.0。
如果你对我们的产品感兴趣,想购买正版授权,可联系咨询~
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
知名C/C++开发工具CLion全新发布v2024.3,新版本新语言引擎有显著改进等,欢迎下载新版体验!
强大的VS插件CodeRush已正式发布v24.2.3,新版本现在可以运行xUnit.Net v3测试等,欢迎下载最新版体验!
Spire.PDF 10.12.4 最新版本支持在进行多页打印时设置自动旋转方向。同时,一些已知问题也在本次更新中被成功修复,例如打印 PDF 文档时内容丢失的问题,欢迎下载体验~
日程安排控件dhtmlxScheduler v7.2全新发布,新版本增强并增加了编辑、修改等多个操作体验,欢迎下载最新版试用~
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢