DotNetBrowser

維基百科,自由的百科全書
(差異) ←上一修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳至導覽 跳至搜尋
DotNetBrowser
開發者TeamDev
首次發佈2015年4月6日,​11年前​(2015-04-06
程式語言C#, C++
作業系統Microsoft Windows, Linux, macOS
類型軟件框架, 網頁瀏覽器
許可協議專有軟件[1]
網站Module:Wd第196行Lua錯誤:attempt to call field 'getGlobalSiteId' (a nil value)

DotNetBrowser 是一個專有的 .NET 庫,它提供了一個基於 Chromium 的引擎,可用於加載和顯示網頁。[2] [3][4] 自 2015 年以來,它一直由 TeamDev 開發和支持。

產品功能[編輯]

主要功能如下:

  • 加載並顯示網頁。
  • 將基於 Chromium 的瀏覽器作為 WPFWindows Forms 控件嵌入到 .NET 桌面應用程式中 [5]
  • 處理導航和網絡事件。
  • 訪問已加載網頁的文檔對象模型
  • 在加載的網頁上執行 JavaScript,注入 .NET 對象並從 JavaScript[6][7][8] 調用它們

用途[編輯]

DotNetBrowser 的主要用途是將瀏覽器嵌入到各種 .NET 桌面應用程式中並顯示網頁。[9] DotNetBrowser 可以用作無頭瀏覽器。 無頭模式也適用於 LinuxmacOS

另一個已知的用例是創建基於網絡的自動服務終端應用程式[10] 和 Microsoft Office 的 VSTO 插件。[11]

DotNetBrowser 示例存儲庫頁面存檔備份,存於互聯網檔案館) 中提供了更多示例和用例。

例子[編輯]

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 控件添加到 Form 中
        Controls.Add(browserView);
        Closed += Form1Closed;
    }
     
    private void Form1Closed(object sender, EventArgs e)
    {
        browser.Dispose();
        engine.Dispose();
    }
}

另見[編輯]

外部連結[編輯]

  • 官方網站
  • DotNetBrowser 帮助中心, [2023-02-02], (原始內容存檔於2023-05-26)  - DotNetBrowser 支持包含文檔和發行說明的網站。
  • DotNetBrowser 示例, [2023-02-02], (原始內容存檔於2023-01-16)  - 包含使用 DotNetBrowser 的各種示例的存儲庫。

參考文獻[編輯]

  1. ^ DotNetBrowser Product Licence Agreement. TeamDev. TeamDev. [12 March 2021]. (原始內容存檔於2021-06-15). 
  2. ^ DotNetBrowser on StackOverflow. [14 March 2021]. (原始內容存檔於2021-06-14). 
  3. ^ DotNetBrowser on NuGet. [14 March 2021]. (原始內容存檔於2021-05-19). 
  4. ^ c # - i want to get location information with dotnetbrowser. [2023-02-02]. (原始內容存檔於2021-05-19). 
  5. ^ Chromium Web Browser Control in .NET Applications. DZone. [2023-02-02]. (原始內容存檔於2021-05-19). 
  6. ^ DotNetBrowser and invalid external method call. [2023-02-02]. (原始內容存檔於2021-05-19). 
  7. ^ Using dotnetbrowser to call JavaScript function to c#. 14 June 2018. 
  8. ^ The mutual call between the JS code of the DotNetBrowser internal page and the external C# code. [2023-02-02]. (原始內容存檔於2021-05-19). 
  9. ^ Creating an HTML UI for Desktop .NET Applications. InfoQ. InfoQ. [12 March 2021]. (原始內容存檔於2021-05-19). 
  10. ^ Mihika Kapoor. Frame Building with C# and VB.NET. medium.com. 2 July 2016 [17 May 2021]. (原始內容存檔於2021-05-17). 
  11. ^ Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser?. [21 May 2021]. (原始內容存檔於2021-05-21).