DotNetBrowser

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

DotNetBrowser
Тип Framework, Браузер
Разработчик TeamDev
Написана на C#, C++
Операционная система Windows
Аппаратная платформа Microsoft Windows[1]
Последняя версия 2.12 (14 января, 2022)
Лицензия TeamDev [2]
Сайт teamdev.com/dotnetbrowser

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

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

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

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

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

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

Другие варианты и примеры использования описаны в репозитории 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();
        }
    }
}

См. также

Примечания

  1. https://dotnetbrowser-support.teamdev.com/roadmap/
  2. DotNetBrowser Product Licence Agreement. TeamDev. TeamDev. Дата обращения: 12 июля 2021.
  3. DotNetBrowser на StackOverflow. Дата обращения: 12 июля 2021.
  4. DotNetBrowser на NuGet. Дата обращения: 12 июля 2021.
  5. c # - i want to get location information with dotnetbrowser.
  6. Chromium Web Browser Control in .NET Applications. DZone.
  7. DotNetBrowser and invalid external method call.
  8. Using dotnetbrowser to call JavaScript function to c#.
  9. The mutual call between the JS code of the DotNetBrowser internal page and the external C# code.
  10. Creating an HTML UI for Desktop .NET Applications. InfoQ. InfoQ. Дата обращения: 12 июля 2021.
  11. Frame Building with C# and VB.NET. medium.com. Дата обращения: 12 июля 2021.
  12. Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser?. Дата обращения: 12 июля 2021.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.