DotNetBrowser
DotNetBrowser — проприетарная .NET библиотека, основанная на Chromium. Предоставляет программно управляемый браузерный движок, который можно использовать для встраивания Chromium в приложения, загрузки и отображения страниц.[5][6][7] Разрабатывается и поддерживается TeamDev с 2015 года.
DotNetBrowser | |
---|---|
Тип | Framework, Браузер |
Разработчик | TeamDev |
Написана на | C#, C++ |
Операционная система | Windows |
Аппаратная платформа | Microsoft Windows[3], Linux[4] и macOS[4] |
Последняя версия | 2.15.1 (17 июня 2022; 9 месяцев назад (2022-06-17)) |
Тестовая версия | |
Лицензия | TeamDev [2] |
Сайт | teamdev.com/dotnetbrowser |
ФункциональностьПравить
Основными функциями библиотеки являются:
- Загрузка и отображение веб-страниц.
- Встраивание браузера в .NET приложения, написанные наWPF или Windows Forms.[8]
- Обработка событий навигации и событий обмена данными с сервером.
- Доступ к DOM загруженной страницы, включая поиск и изменение элементов.
- Выполнение JavaScript на загруженной странице, возможность работы с JavaScript объектами из .NET и с .NET объектами из JavaScript[9][10][11]
ИспользованиеПравить
Наиболее часто распространенный вариант использования библиотеки — это встраивание браузера в различные .NET приложения для отображения веб-страниц и работы с ними.[12] DotNetBrowser также можно использовать без вывода на экран в консольных или серверных приложениях.
Другие популярные варианты использования включают создание web-based приложений для информационных киосков и киосков самообслуживания[13] и надстроек VSTO для приложений Microsoft Office.[14]
Другие варианты и примеры использования описаны в репозитории 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();
}
}
}
См. такжеПравить
ПримечанияПравить
- ↑ https://dotnetbrowser-support.teamdev.com/release-notes/2015/v1-0.html
- ↑ DotNetBrowser Product Licence Agreement (неопр.). TeamDev. TeamDev. Дата обращения: 12 июля 2021. Архивировано 15 июня 2021 года.
- ↑ https://dotnetbrowser-support.teamdev.com/roadmap/
- ↑ 1 2 https://dotnetbrowser-support.teamdev.com/release-notes/2022/v2-17.html
- ↑ DotNetBrowser на StackOverflow (неопр.). Дата обращения: 12 июля 2021. Архивировано 14 июня 2021 года.
- ↑ DotNetBrowser на NuGet (неопр.). Дата обращения: 12 июля 2021. Архивировано 19 мая 2021 года.
- ↑ c # - i want to get location information with dotnetbrowser (неопр.). Дата обращения: 14 июля 2021. Архивировано 19 мая 2021 года.
- ↑ Chromium Web Browser Control in .NET Applications (неопр.). DZone. Дата обращения: 14 июля 2021. Архивировано 19 мая 2021 года.
- ↑ DotNetBrowser and invalid external method call (неопр.). Дата обращения: 14 июля 2021. Архивировано 19 мая 2021 года.
- ↑ Using dotnetbrowser to call JavaScript function to c# (неопр.).
- ↑ The mutual call between the JS code of the DotNetBrowser internal page and the external C# code (неопр.). Дата обращения: 14 июля 2021. Архивировано 19 мая 2021 года.
- ↑ Creating an HTML UI for Desktop .NET Applications (неопр.). InfoQ. InfoQ. Дата обращения: 12 июля 2021. Архивировано 19 мая 2021 года.
- ↑ Frame Building with C# and VB.NET (неопр.). medium.com. Дата обращения: 12 июля 2021. Архивировано 17 мая 2021 года.
- ↑ Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser? (неопр.) Дата обращения: 12 июля 2021. Архивировано 21 мая 2021 года.