成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

提高開發(fā)效率!深入探索微軟新發(fā)布的WebView2庫的應用

開發(fā) 前端
WebView2庫是微軟開發(fā)的一個現(xiàn)代Web控件,它基于Microsoft Edge瀏覽器的內(nèi)部架構(gòu),提供高性能、安全穩(wěn)定、易用的Web控件。WebView2庫可以適用于多種場景、跨平臺支持、提供豐富的API接口等優(yōu)點;但也需要安裝WebView2運行時、庫文件較大等缺點。

一、WebView2庫簡介

WebView2是微軟開發(fā)的一個現(xiàn)代Web控件,它基于Microsoft Edge瀏覽器的內(nèi)部架構(gòu),提供高性能、安全穩(wěn)定、易用的Web控件。與傳統(tǒng)的WebBrowser控件相比,WebView2具有更好的跨平臺支持、更多的API接口、更好的性能和穩(wěn)定性。

二、WebView2庫使用場景

WebView2庫適用于多種場景,例如:

  • 在Win32桌面應用程序、UWP應用程序和.NET應用程序中嵌入現(xiàn)代Web技術(shù),為用戶提供更加現(xiàn)代化、豐富的用戶體驗。
  • 構(gòu)建不同類型的瀏覽器插件、擴展程序,為用戶提供更多的功能和服務。
  • 作為游戲引擎的一部分,提供在線游戲運行的支持。
  • 開發(fā)各種類型的工具、應用程序,如IDE、網(wǎng)站監(jiān)視器等。

三、WebView2庫的組件模塊

WebView2庫包括以下組件模塊:

  • WebView2 Runtime:WebView2庫需要安裝對應版本的WebView2運行時,以便在Windows上啟用它的功能
  • WebView2 Loader:WebView2庫的底層加載器能夠快速地將WebView2控件加載到應用程序中
  • WebView2 Control:WebView2控件是WebView2庫的核心,可以在Windows應用程序中嵌入現(xiàn)代Web技術(shù)
  • WebView2 SDK:WebView2庫提供了豐富的API和開發(fā)工具,幫助開發(fā)人員更好地使用WebView2控件

四、WebView2庫的優(yōu)點和缺點

WebView2庫的優(yōu)點:

  • 高性能和穩(wěn)定性:WebView2庫基于Microsoft Edge瀏覽器內(nèi)部架構(gòu),具有更高的性能和穩(wěn)定性,為用戶提供更好的體驗
  • 多種語言支持:WebView2庫可以使用多種編程語言進行開發(fā),如C++、C#等
  • 豐富的API接口:WebView2庫提供了大量的API接口,讓開發(fā)人員可以更靈活地控制WebView2控件的行為
  • 跨平臺支持:WebView2庫可以在多個操作系統(tǒng)上運行,包括Windows、Linux、MacOS等

WebView2庫的缺點:

  • 安裝WebView2運行時:WebView2庫需要安裝對應版本的WebView2運行時,以便在Windows上啟用它的功能
  • 庫文件較大:WebView2庫的庫文件比傳統(tǒng)的WebBrowser控件庫文件要大,可能會占用一定的存儲空間

五、WebView2庫API用法

WebView2庫提供了豐富的API和開發(fā)工具,讓開發(fā)人員可以更輕松、靈活地控制WebView2控件的行為。以下是WebView2庫中常用的一些API介紹:

1、CoreWebView2

CoreWebView2是WebView2庫的核心類,它表示一個WebView2控件實例。CoreWebView2包含了WebView2控件的大部分功能,如導航、JavaScript交互、事件處理等。

常用屬性和方法:

  • AddScriptToExecuteOnDocumentCreatedAsync(string script):將一個JavaScript腳本添加到文檔創(chuàng)建時執(zhí)行的腳本列表中。
  • AddScriptToExecuteOnPageCompletedAsync(string script):將一個JavaScript腳本添加到頁面完成時執(zhí)行的腳本列表中。
  • ExecuteScriptAsync(string script):執(zhí)行一個JavaScript腳本并返回結(jié)果。
  • Navigate(string uri):導航到指定的URL地址。
  • Stop():停止WebView2控件當前的所有導航操作。
  • GoBack():將WebView2控件的導航歷史記錄向后移動一步。
  • GoForward():將WebView2控件的導航歷史記錄向前移動一步。
  • Reload():重新加載當前頁面。
  • CapturePreviewAsync(Stream imageStream, ImageFormat imageFormat):捕獲當前頁面的預覽圖像。

事件:

  • CoreWebView2InitializationCompleted:當CoreWebView2對象初始化完成時觸發(fā)的事件。
  • NavigationStarting:當WebView2控件開始導航時觸發(fā)的事件。
  • ContentLoading:當WebView2控件開始加載內(nèi)容時觸發(fā)的事件。
  • SourceChanged:當WebView2控件的源URL地址發(fā)生變化時觸發(fā)的事件。
  • ContentLoaded:當WebView2控件完成載入內(nèi)容后觸發(fā)的事件。

2、CoreWebView2Environment

CoreWebView2Environment表示一個WebView2運行環(huán)境,它提供了WebView2控件和WebView2控件相關(guān)組件的管理和初始化功能。

常用屬性和方法:

  • CreateCoreWebView2Controller(IntPtr parentWindow, Action<CoreWebView2Controller> controllerCreatedCallback):創(chuàng)建一個CoreWebView2Controller實例并放置到指定的父窗口中。
  • CreateCoreWebView2EnvironmentWithOptions(CoreWebView2EnvironmentOptions environmentOptions, Action<CoreWebView2Environment> environmentCreatedCallback):根據(jù)指定的選項創(chuàng)建一個CoreWebView2Environment實例。

3、CoreWebView2Controller

CoreWebView2Controller是WebView2控件和WebView2運行環(huán)境之間的橋梁,它負責管理WebView2控件的生命周期、與瀏覽器的交互等

常用屬性和方法:

  • CoreWebView2:獲取當前CoreWebView2Controller對象關(guān)聯(lián)的CoreWebView2實例。
  • Close():關(guān)閉CoreWebView2Controller對象和關(guān)聯(lián)的CoreWebView2實例。
  • AddRemoteObject(string name, object obj):將一個.NET對象公開為JavaScript可訪問的遠程對象。
  • RemoveRemoteObject(string name):從CoreWebView2Controller對象中刪除一個已公開的遠程對象。

4、CoreWebView2Settings

CoreWebView2Settings表示W(wǎng)ebView2控件的一些設(shè)置,如縮放級別、內(nèi)核啟用狀態(tài)等。

常用屬性:

  • IsScriptEnabled:獲取或設(shè)置WebView2控件是否允許JavaScript腳本執(zhí)行。
  • IsWebMessageEnabled:獲取或設(shè)置WebView2控件是否允許使用Web消息。

5、CoreWebView2EnvironmentOptions

CoreWebView2EnvironmentOptions定義了創(chuàng)建CoreWebView2Environment時的一些選項和設(shè)置。

常用屬性和方法:

  • BrowserExecutableFolder:獲取或設(shè)置運行WebView2控件時使用的瀏覽器可執(zhí)行文件路徑。
  • UserDataFolder:獲取或設(shè)置WebView2控件使用的用戶數(shù)據(jù)存儲文件夾路徑。

這些API只是WebView2庫的一部分,還有更多功能和用法可以在Microsoft官方文檔中找到。

六、winform引用WebView2庫案例說明

using Microsoft.Web.WebView2.Core;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        webView21.CreationProperties = new CoreWebView2CreationProperties()
        {
            BrowserExecutableFolder = @"C:\Program Files (x86)\Microsoft\Edge\Application\91.0.864.48",
            UserDataFolder = @"C:\Temp",
        };

        webView21.CoreWebView2InitializationCompleted += WebView21_CoreWebView2InitializationCompleted;
        webView21.Source = new Uri("https://www.bing.com");
    }

    private async void WebView21_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e)
    {
        await webView21.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("document.body.style.backgroundColor = 'lightblue';");
        await webView21.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("console.log('Hello from JavaScript!');");
        await webView21.CoreWebView2.Navigate("https://www.bing.com");
    }
}

在這個例子中,我們在Winform應用程序中使用了WebView2控件。我們首先初始化了WebView2控件,然后通過編寫
CoreWebView2InitializationCompleted事件處理程序與WebView2進行交互。在這個例子中,我們通過AddScriptToExecuteOnDocumentCreatedAsync方法執(zhí)行JavaScript腳本,并使用Navigate方法加載URL。

七、WFP引入WebView2庫案例說明

以下是一個使用WPF框架和WebView2庫的簡單案例:

首先需要在項目中安裝Microsoft.Web.WebView2 NuGet包。

在XAML中添加WebView2控件:

<Window x:Class="WpfApp1.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:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <wv2:WebView2 Margin="10"/>
    </Grid>
</Window>

在C#代碼中初始化WebView2控件并加載URL:

using Microsoft.Web.WebView2.Core;

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        webView.CreationProperties = new CoreWebView2CreationProperties()
        {
            BrowserExecutableFolder = @"C:\Program Files (x86)\Microsoft\Edge\Application\91.0.864.48",
            UserDataFolder = @"C:\Temp",
        };

        webView.CoreWebView2InitializationCompleted += WebView_CoreWebView2InitializationCompleted;
    }

    private async void WebView_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e)
    {
        await webView.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("document.body.style.backgroundColor = 'lightblue';");
        await webView.CoreWebView2.AddScriptToExecuteOnDocumentCreatedAsync("console.log('Hello from JavaScript!');");
        await webView.CoreWebView2.Navigate("https://www.bing.com");
    }
}

在這個例子中,我們在WPF應用程序中使用了WebView2控件。我們首先初始化了WebView2控件,然后通過編寫
CoreWebView2InitializationCompleted事件處理程序與WebView2進行交互。在這個例子中,我們通過AddScriptToExecuteOnDocumentCreatedAsync方法執(zhí)行JavaScript腳本,并使用Navigate方法加載URL。

八、總結(jié)

WebView2庫是微軟開發(fā)的一個現(xiàn)代Web控件,它基于Microsoft Edge瀏覽器的內(nèi)部架構(gòu),提供高性能、安全穩(wěn)定、易用的Web控件。WebView2庫可以適用于多種場景、跨平臺支持、提供豐富的API接口等優(yōu)點;但也需要安裝WebView2運行時、庫文件較大等缺點。在Winform或者WPF應用程序中使用WebView2的方法與傳統(tǒng)的WebBrowser控件相比更加現(xiàn)代化、穩(wěn)定,提供更好的用戶體驗和應用場景。

責任編輯:姜華 來源: 今日頭條
相關(guān)推薦

2020-10-20 10:30:47

微軟瀏覽器Windows

2021-09-01 09:12:57

微軟WebView2開發(fā)

2021-09-13 17:19:34

微軟Chromium EdWebView2

2023-05-14 19:18:07

2022-06-29 08:52:43

微軟WebView2Windows 10

2023-05-25 10:31:37

2021-02-04 13:41:05

鴻蒙HarmonyOSHUAWEI

2013-04-25 09:53:08

微軟藍屏死機

2012-11-06 09:30:28

WebWeb前端

2013-07-29 12:45:19

iOS開發(fā)經(jīng)驗iOS提高應用開發(fā)效率

2012-02-20 09:20:34

蘋果iOS應用開發(fā)

2022-05-26 11:01:24

微軟無代碼工具低代碼工具

2025-05-16 09:15:30

2015-07-20 10:54:47

IOS提高效率工具

2015-12-15 09:50:12

Linux開發(fā)效率工具

2022-09-05 14:17:48

Javascript技巧

2023-11-22 08:26:03

HutoolJava工具集

2010-10-27 14:15:44

Oracle數(shù)據(jù)庫效率

2015-03-20 10:06:37

2012-07-11 14:41:45

Wabacus
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美中文字幕一区二区三区亚洲 | 午夜资源 | 成人黄色av网站 | 综合久久国产 | 毛片片 | 日韩免费三级 | 亚洲成av人片在线观看无码 | 99亚洲国产精品 | 欧美日韩久久 | julia中文字幕久久一区二区 | 国产精品成人一区二区三区 | 国内自拍偷拍 | 在线精品国产 | cao在线 | 一区二区电影 | 老司机精品福利视频 | 国产精品电影在线观看 | h视频在线免费 | 欧美日韩在线一区二区 | 国产美女在线精品免费 | 在线免费黄色小视频 | 国产女人与拘做受视频 | 久久伊人免费视频 | 性天堂网 | 爱草在线 | 91av在线免费 | 国产激情视频网 | 欧美日本高清 | 国产精品久久久久久久粉嫩 | 国产亚洲精品美女久久久久久久久久 | 欧美激情在线观看一区二区三区 | 一区二区成人 | 在线看免费的a | 亚洲精品美女视频 | 亚洲国产精品一区二区三区 | 国产视频一区在线观看 | 91亚洲精品在线观看 | 毛片免费观看视频 | 欧美日韩国产传媒 | 日韩免费激情视频 | 国产精品久久久久久久久久久久久久 |