Interested Article - DotNetBrowser

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

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

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

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

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

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

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

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

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

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. . TeamDev . TeamDev. Дата обращения: 12 июля 2021. 15 июня 2021 года.
  2. . Дата обращения: 12 июля 2021. 14 июня 2021 года.
  3. . Дата обращения: 12 июля 2021. 19 мая 2021 года.
  4. . Дата обращения: 14 июля 2021. 19 мая 2021 года.
  5. . DZone. Дата обращения: 14 июля 2021. 19 мая 2021 года.
  6. . Дата обращения: 14 июля 2021. 19 мая 2021 года.
  7. .
  8. . Дата обращения: 14 июля 2021. 19 мая 2021 года.
  9. . InfoQ . InfoQ. Дата обращения: 12 июля 2021. 19 мая 2021 года.
  10. . medium.com . Дата обращения: 12 июля 2021. 17 мая 2021 года.
  11. Дата обращения: 12 июля 2021. 21 мая 2021 года.
Источник —

Same as DotNetBrowser