Русская Википедия:DotNetBrowser

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Infobox software

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

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

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

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

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

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

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

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

См. также

Примечания

Шаблон:Примечания