WebView2是开发w库微软开发的一个现代Web控件,它基于Microsoft Edge浏览器的效率新内部架构,提供高性能、深入安全稳定、微软易用的Web控件。与传统的WebBrowser控件相比,WebView2具有更好的跨平台支持、更多的API接口、更好的性能和稳定性。
WebView2库适用于多种场景,例如:
WebView2库包括以下组件模块:
WebView2库的优点:
WebView2库的缺点:
WebView2库提供了丰富的API和开发工具,让开发人员可以更轻松、灵活地控制WebView2控件的行为。以下是WebView2库中常用的一些API介绍:
CoreWebView2是WebView2库的核心类,它表示一个WebView2控件实例。CoreWebView2包含了WebView2控件的大部分功能,如导航、JavaScript交互、事件处理等。
常用属性和方法:
事件:
CoreWebView2Environment表示一个WebView2运行环境,它提供了WebView2控件和WebView2控件相关组件的管理和初始化功能。
常用属性和方法:
CoreWebView2Controller是WebView2控件和WebView2运行环境之间的桥梁,它负责管理WebView2控件的生命周期、与浏览器的交互等。
常用属性和方法:
CoreWebView2Settings表示WebView2控件的一些设置,如缩放级别、内核启用状态等。
常用属性:
CoreWebView2EnvironmentOptions定义了创建CoreWebView2Environment时的一些选项和设置。
常用属性和方法:
这些API只是WebView2库的一部分,还有更多功能和用法可以在Microsoft官方文档中找到。
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方法执行JavaScript脚本,并使用Navigate方法加载URL。
以下是一个使用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方法执行JavaScript脚本,并使用Navigate方法加载URL。
WebView2库是微软开发的一个现代Web控件,它基于Microsoft Edge浏览器的内部架构,提供高性能、安全稳定、易用的Web控件。WebView2库可以适用于多种场景、跨平台支持、提供丰富的API接口等优点;但也需要安装WebView2运行时、库文件较大等缺点。在Winform或者WPF应用程序中使用WebView2的方法与传统的WebBrowser控件相比更加现代化、稳定,提供更好的用户体验和应用场景。
责任编辑:姜华 来源: 今日头条 Web控件WebView2(责任编辑:时尚)
前10个月安徽省重点项目完成投资15725亿 开工3235个
昆明市房地产热销和土地收入入库增长 一般公共预算收入同比增长19.7%
多个自贸试验区发布周年“成绩单” 更好服务我国全面对外开放的战略布局
山东高青县2017年发放耕地地力保护补贴资金7760.20万元 补贴农户75458户
ST步森(002569.SZ)公布消息:终止收购微动天下100%的股权