DotNetBrowser

DotNetBrowser 是一个专有的 .NET 库，它提供了一个基于 Chromium 的引擎，可用于加载和显示网页。 自 2015 年以来，它一直由 TeamDev 开发和支持。 主要功能如下： 加载并显示网页。 将基于 Chromium 的浏览器作为 WPF 或 Windows Forms 控件嵌入到 .NET 桌面应用程序中 。 处理导航和网络事件。 访问已加载网页的文档对象模型。 在加载的网页上执行 JavaScript，注入 .NET 对象并从 JavaScript 调用它们 DotNetBrowser 的主要用途是将浏览器嵌入到各种 .NET 桌面应用程序中并显示网页。 DotNetBrowser 可以用作无头浏览器。 无头模式也适用于 Linux 和 macOS。 另一个已知的用例是创建基于网络的自动服务终端应用程序 和 Microsoft Office 的 VSTO 插件。 DotNetBrowser 示例存储库 （页面存档备份，存于互联网档案馆） 中提供了更多示例和用例。 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(); } } 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(); } } Electron 官方网站 DotNetBrowser 帮助中心, [2023-02-02], （原始内容存档于2023-05-26）  - DotNetBrowser 支持包含文档和发行说明的网站。 DotNetBrowser 示例, [2023-02-02], （原始内容存档于2023-01-16）  - 包含使用 DotNetBrowser 的各种示例的存储库。 https://dotnetbrowser-support.teamdev.com/release-notes/2015/v1-0.html. https://teamdev.com/dotnetbrowser/release-notes/2024/v2-27-1.html. DotNetBrowser Product Licence Agreement. TeamDev. TeamDev. [12 March 2021]. （原始内容存档于2021-06-15）.  DotNetBrowser on StackOverflow. [14 March 2021]. （原始内容存档于2021-06-14）.  DotNetBrowser on NuGet. [14 March 2021]. （原始内容存档于2021-05-19）.  c # - i want to get location information with dotnetbrowser. [2023-02-02]. （原始内容存档于2021-05-19）.  Chromium Web Browser Control in .NET Applications. DZone. [2023-02-02]. （原始内容存档于2021-05-19）.  DotNetBrowser and invalid external method call. [2023-02-02]. （原始内容存档于2021-05-19）.  Using dotnetbrowser to call JavaScript function to c#. 14 June 2018.  The mutual call between the JS code of the DotNetBrowser internal page and the external C# code. [2023-02-02]. （原始内容存档于2021-05-19）.  Creating an HTML UI for Desktop .NET Applications. InfoQ. InfoQ. [12 March 2021]. （原始内容存档于2021-05-19）.  Mihika Kapoor. Frame Building with C# and VB.NET. medium.com. 2 July 2016 [17 May 2021]. （原始内容存档于2021-05-17）.  Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser?. [21 May 2021]. （原始内容存档于2021-05-21）.