DotNetBrowser

25.11.2021

DotNetBrowser — проприетарная .NET библиотека, основанная на Chromium. Предоставляет программно управляемый браузерный движок, который можно использовать для встраивания Chromium в приложения, загрузки и отображения страниц. Разрабатывается и поддерживается TeamDev с 2015 года.

Функциональность

Основными функциями библиотеки являются:

  • Загрузка и отображение веб-страниц.
  • Встраивание браузера в .NET приложения, написанные наWPF или Windows Forms.
  • Обработка событий навигации и событий обмена данными с сервером.
  • Доступ к DOM загруженной страницы, включая поиск и изменение элементов.
  • Выполнение JavaScript на загруженной странице, возможность работы с JavaScript обьектами из .NET и с .NET обьектами из JavaScript

Использование

Наиболее часто распространенный вариант использования библиотеки — это встраивание браузера в различные .NET приложения для отображения веб-страниц и работы с ними. DotNetBrowser также можно использовать без вывода на экран в консольных или серверных приложениях.

Другие популярные варианты использования включают создание web-based приложений для информационных киосков и киосков самообслуживания и надстроек VSTO для приложений Microsoft Office.

Другие варианты и примеры использования описаны в репозитории DotNetBrowser Examples.

Примеры встраивания

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 на форму Controls.Add(browserView); Closed += Form1Closed; } private void Form1Closed(object sender, EventArgs e) { browser.Dispose(); engine.Dispose(); } } }

Имя:*
E-Mail:
Комментарий: