DotNetBrowser

DotNetBrowser
開發者TeamDev
首次发布2015年4月6日,​10年前​(2015-04-06
当前版本
  • 1.0(2015年4月6日;初始版本)[1]
  • 2.27.1(2024年5月30日;穩定版本)[2]
編輯維基數據鏈接
编程语言C#, C++
操作系统Microsoft Windows, Linux, macOS
类型软件框架, 网页浏览器
许可协议专有软件[3]
网站https://teamdev.cn/dotnetbrowser

DotNetBrowser 是一个专有的 .NET 库,它提供了一个基于 Chromium 的引擎,可用于加载和显示网页。[4] [5][6] 自 2015 年以来,它一直由 TeamDev 开发和支持。

产品功能

[编辑]

主要功能如下:

  • 加载并显示网页。
  • 将基于 Chromium 的浏览器作为 WPFWindows Forms 控件嵌入到 .NET 桌面应用程序中 [7]
  • 处理导航和网络事件。
  • 访问已加载网页的文档对象模型
  • 在加载的网页上执行 JavaScript,注入 .NET 对象并从 JavaScript[8][9][10] 调用它们

用途

[编辑]

DotNetBrowser 的主要用途是将浏览器嵌入到各种 .NET 桌面应用程序中并显示网页。[11] DotNetBrowser 可以用作无头浏览器。 无头模式也适用于 LinuxmacOS

另一个已知的用例是创建基于网络的自动服务终端应用程序[12] 和 Microsoft Office 的 VSTO 插件。[13]

DotNetBrowser 示例存储库页面存档备份,存于互联网档案馆) 中提供了更多示例和用例。

例子

[编辑]

WPF

[编辑]

XAML 标记

<Window x:Class="Sample.Wpf.MainWindow"         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"         xmlns:wpf="clr-namespace:DotNetBrowser.Wpf;assembly=DotNetBrowser.Wpf"         mc:Ignorable="d"         Title="MainWindow" Height="450" Width="800" Closed="MainWindow_OnClosed">     <Grid>         <wpf:BrowserView x:Name="browserView"/>     </Grid> </Window> 

C#

using System; using System.Windows using DotNetBrowser.Browser; using DotNetBrowser.Engine;  namespace Sample.Wpf;  public partial class MainWindow : Window {     private readonly IEngine engine;     private readonly IBrowser browser;           public MainWindow()     {         InitializeComponent();                   // 创建和初始化 IEngine         engine = EngineFactory.Create();                   // 创建 IBrowser         browser = engine.CreateBrowser();         browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser");                   // 初始化 WPF BrowserView 控件         browserView.InitializeFrom(browser);     }           private void MainWindow_OnClosed(object sender, EventArgs e)     {         browser.Dispose();         engine.Dispose();     } } 

Windows Forms

[编辑]

C#

using System; using System.Windows.Forms; using DotNetBrowser.Browser; using DotNetBrowser.Engine; using DotNetBrowser.WinForms;  namespace Sample.WinForms;  public partial class Form1 : Form {     private readonly IEngine engine;     private readonly IBrowser browser;           public Form1()     {         InitializeComponent();                   // 创建和初始化 IEngine         engine = EngineFactory.Create();                   // 创建 Windows Forms BrowserView 控件         BrowserView browserView = new BrowserView() {             Dock = DockStyle.Fill         };                   // 创建 IBrowser         browser = engine.CreateBrowser();         browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser");                   //  初始化 Windows Forms BrowserView 控件         browserView.InitializeFrom(browser);                   // 将 BrowserView 控件添加到 Form 中         Controls.Add(browserView);         Closed += Form1Closed;     }           private void Form1Closed(object sender, EventArgs e)     {         browser.Dispose();         engine.Dispose();     } } 

另见

[编辑]

外部链接

[编辑]

参考文献

[编辑]
  1. ^ https://dotnetbrowser-support.teamdev.com/release-notes/2015/v1-0.html.
  2. ^ https://teamdev.com/dotnetbrowser/release-notes/2024/v2-27-1.html.
  3. ^ DotNetBrowser Product Licence Agreement. TeamDev. TeamDev. [12 March 2021]. (原始内容存档于2021-06-15). 
  4. ^ DotNetBrowser on StackOverflow. [14 March 2021]. (原始内容存档于2021-06-14). 
  5. ^ DotNetBrowser on NuGet. [14 March 2021]. (原始内容存档于2021-05-19). 
  6. ^ c # - i want to get location information with dotnetbrowser. [2023-02-02]. (原始内容存档于2021-05-19). 
  7. ^ Chromium Web Browser Control in .NET Applications. DZone. [2023-02-02]. (原始内容存档于2021-05-19). 
  8. ^ DotNetBrowser and invalid external method call. [2023-02-02]. (原始内容存档于2021-05-19). 
  9. ^ Using dotnetbrowser to call JavaScript function to c#. 14 June 2018. 
  10. ^ The mutual call between the JS code of the DotNetBrowser internal page and the external C# code. [2023-02-02]. (原始内容存档于2021-05-19). 
  11. ^ Creating an HTML UI for Desktop .NET Applications. InfoQ. InfoQ. [12 March 2021]. (原始内容存档于2021-05-19). 
  12. ^ Mihika Kapoor. Frame Building with C# and VB.NET. medium.com. 2 July 2016 [17 May 2021]. (原始内容存档于2021-05-17). 
  13. ^ Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser?. [21 May 2021]. (原始内容存档于2021-05-21).