[C#][]webview2简单使用

这篇具有很好参考价值的文章主要介绍了[C#][]webview2简单使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、本例子需要下载

Microsoft.Web.WebView2 

WebView2.Runtime.X64或者​​​​​​WebView2.Runtime.X86

引用库:

[C#][]webview2简单使用

 webview2运行库这样放置:

[C#][]webview2简单使用

 代码如下:

using Microsoft.Web.WebView2.Core;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private async void Form1_Load(object sender, EventArgs e)
        {

            await webView21.EnsureCoreWebView2Async(await CoreWebView2Environment.CreateAsync(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "WebView2")));
            this.webView21.CoreWebView2.Navigate("https://www.baidu.com");
            //webView21.Source = new Uri("https://www.baidu.com");
            webView21.CoreWebView2.NewWindowRequested += CoreWebView2_NewWindowRequested;
        }

       void  CoreWebView2_NewWindowRequested(object sender, CoreWebView2NewWindowRequestedEventArgs e)
        {
            var deferral = e.GetDeferral();
            //e.NewWindow = (CoreWebView2)sender;
            e.NewWindow = this.webView21.CoreWebView2;
            e.NewWindow.Navigate(e.Uri);
            deferral.Complete();
            //e.Handled = true;
        }
       
        private void webView21_NavigationCompleted(object sender, CoreWebView2NavigationCompletedEventArgs e)
        {
          
        }

        private void webView21_SourceChanged(object sender, CoreWebView2SourceChangedEventArgs e)
        {
            Console.WriteLine(this.webView21.Source.AbsoluteUri);
        }

        private void webView21_NavigationStarting(object sender, CoreWebView2NavigationStartingEventArgs e)
        {

        }

        private void webView21_WebMessageReceived(object sender, CoreWebView2WebMessageReceivedEventArgs e)
        {

        }
    }
}

上述代码解决了2个常见问题:

(1)this.webView21.CoreWebView2的值一直是null,这是没有运行库导致

(2)内部跳转,网上说的没有一个完整,正确方式如上图要加个 e.NewWindow.Navigate(e.Uri);不然跳转后空窗口啥也没有。亲测通过,绝对原创。文章来源地址https://www.toymoban.com/news/detail-512230.html

到了这里,关于[C#][]webview2简单使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 四.Winform使用Webview2加载本地HTML页面并互相通信

    四.Winform使用Webview2加载本地HTML页面并互相通信

    往期相关文章目录 专栏目录 实现刷新按钮 点击 C# winform 按钮可以调用 C# winform 代码显示到html上 点击 HTML 按钮可以调用 C# winform 代码更改html按钮字体 C# - html html-C# 确保mainView2的CoreWebView2异步初始化完成 在webview2的CoreWebView初始化之后设置属性 在coreWebview2完成时添加 WebMess

    2024年01月24日
    浏览(8)
  • c#使用webView2 访问本地静态html资源跨域Cors问题

    c#使用webView2 访问本地静态html资源跨域Cors问题

    在浏览器中访问本地静态资源html网页时,可能会遇到跨域问题如图。   是因为浏览器默认启用了同源策略,即只允许加载与当前网页具有相同源(协议、域名和端口)的内容。 WebView2默认情况下启用了浏览器的同源策略,即只允许加载与主机相同源的内容。所以如果我们把

    2024年02月20日
    浏览(13)
  • c#使用webView2 访问本地静态html资源跨域Cors问题 (附带代理服务helper帮助类)

    c#使用webView2 访问本地静态html资源跨域Cors问题 (附带代理服务helper帮助类)

    在浏览器中访问本地静态资源html网页时,可能会遇到跨域问题如图。   是因为浏览器默认启用了同源策略,即只允许加载与当前网页具有相同源(协议、域名和端口)的内容。 WebView2默认情况下启用了浏览器的同源策略,即只允许加载与主机相同源的内容。所以如果我们把

    2024年02月21日
    浏览(9)
  • 一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址

    一.Winform使用Webview2(Edge浏览器核心) 创建demo(Demo1)实现回车导航到指定地址

    往期相关文章目录 专栏目录 WinForms 应用中的 WebView2 入门 按照官方文档一路操作,可以自行百度或者查看WinForms 应用中的 WebView2 入门。为了避坑,本人安装的时vs2022(visual studio 以下简称vs) 打开vs(visual studio 以下简称vs) 点击 创建新项目 ,选择 C# Windows 窗体应用 (.NET Framework

    2024年02月21日
    浏览(12)
  • WebView2 的初步集成与试用

    WebView2 的初步集成与试用

    目录 一、环境概况 二、安装 三、集成测试  参考资料         由于以前公司自己集成了一个浏览器供客户使用,而原来的浏览器使用的是IWebBrowser2的技术,而IWebBrowser2技术支持的IE框架只能到ie11,但由于现在新的js框架横行,而且加上windows放弃了IE浏览器,而有的客户项目

    2024年02月05日
    浏览(8)
  • winform嵌入浏览器 webView2

    winform嵌入浏览器 webView2

    1、项目引用nuget 2、winform窗体中初始化 3、webView2中的js调用c#代码

    2024年02月10日
    浏览(13)
  • NET Webview2无法打开网页解决方法

    NET Webview2无法打开网页解决方法

    错误情况: 用.NET 开发 使用Webview2 打开网页时,白屏,不显示网页。 系统错误日志: Code Integrity determined that a process (DeviceHarddiskVolume7Program Files (x86)MicrosoftEdgeWebViewApplication110.0.1587.63msedgewebview2.exe) attempted to load DeviceHarddiskVolume7InetPubftprootTiprayLdTermghijt64.dll that did

    2024年02月15日
    浏览(15)
  • QT5 通过 webview2 加载网页

    QT5 通过 webview2 加载网页

    官方文档参考:https://learn.microsoft.com/zh-cn/microsoft-edge/webview2/get-started/win32 头文件主要为:WebView2和WixLibrary,存储在include/external 库主要为:WebView2LoaderStatic.lib和WebView2Loader.dll,存储在lib/external CMakeLists文件 base/set_env.cmake init_project.cmake base/set_compile_arg.cmake main函数 MainWindow函数

    2024年02月07日
    浏览(8)
  • Java Swing 嵌入微软 WebView2 的运行环境设置

    当使用 DJNativeSwing 和 Eclipse swt 开发 Windows 桌面 Java 应用时,因为使用 Javascript 动态载入 html 片段, 导致 CORS 异常. Access to XMLHttpRequest at ‘file:///…’ from origin ‘null’ has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, ch

    2024年02月10日
    浏览(12)
  • 【WinForm】WebView2-个性化浏览器-桌面程序开发详解

    【WinForm】WebView2-个性化浏览器-桌面程序开发详解

    这是一个桌面程序上的浏览器,是用插件WebView2开发的浏览器桌面程序,功能体验堪比Edge浏览器,相比使用Chrome内核插件开发浏览器来说,还是用插件WebView2开发来得简单一些,接下来讲一讲实现过程。 开发之前,建议先看看微软的 WebView2 开发文档,很有帮助 使用Visual Stu

    2024年02月04日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包