首页 > 其他分享 >.NET混合开发解决方案WebView2控件的导航事件

.NET混合开发解决方案WebView2控件的导航事件

时间:2024-12-27 17:20:27浏览次数:5  
标签:控件 NavigationId WebView2 NavigationStarting 文档 事件 NET 导航

导航事件的正常顺序为:

  1. NavigationStarting
  2. SourceChanged
  3. ContentLoading
  4. HistoryChanged
  5. BasicAuthenticationRequested
  6. DOMContentLoaded
  7. NavigationCompleted

以下事件描述每次导航操作期间 WebView2 的状态:

上图显示了在各自的事件参数上具有相同NavigationId属性的导航事件。

  • 使用导航ID(在NavigationId事件中提供)跟踪每个新文档的导航事件。每次成功导航到新文档时,WebView2的NavigationId事件都会发生更改。
  • 具有不同NavigationId事件实例的导航事件可能会重叠。例如,启动导航事件时,必须等待相关的NavigationStarting事件。如果随后启动另一个导航,您将看到以下序列:
    1. 第一次导航的 NavigationStarting 事件。
    2. 第二次导航的 NavigationStarting 事件。
    3. 第一次导航的 NavigationCompleted 事件。
    4. 第二次导航的所有其他相应导航事件。
  • 在错误情况下,可能有或可能没有内容加载事件,这取决于导航是否继续导航到错误页面。
  • 如果发生HTTP重定向,则一行中有多个NavigationStarting事件,其中后面的事件参数设置了IsRedirect属性;但是,NavigationId事件保持不变。
  • 相同的文档导航事件(例如导航到同一文档中的片段)不会导致NavigationStarting事件,也不会增加NavigationId事件。
  • 要监视或取消WebView2实例中子框架内的导航事件,请使用FrameNavigationStarting和FrameNavigationCompleted事件。这些事件的行为类似于等效的非框架对应事件。

 

标签:控件,NavigationId,WebView2,NavigationStarting,文档,事件,NET,导航
From: https://www.cnblogs.com/MaoZhuaShi/p/18636279

相关文章

  • .net接口出现405跨域错误
    web.config文件<httpProtocol><customHeaders><addname="Access-Control-Allow-Origin"value="*"/><addname="Access-Control-Allow-Headers"value="Content-Type,Accept,Authdealer,Authstr,......
  • asp.net core webapi 向前端返回一个文件
    后端接口返回文件[Authorization]//给下载模版添加权限[HttpGet]publicIActionResultDownloadTemplate(){//AppContext.BaseDirectory用于获取项目根目录varfilePath=$"{AppContext.BaseDirectory}/MyStaticFiles/取货模板.csv";if(!System.IO.File.E......
  • ASP.NET Core 中的速率限制中间件的使用
    简介在ASP.NETCore中,速率限制中间件是用来控制客户端对WebAPI或MVC应用程序发出请求的速率,以防止服务器过载和提高安全性。下面是AddRateLimiter的一些基本用法:1.注册服务在Startup.cs或Program.cs中,需要注册AddRateLimiter服务。这可以通过以下代码完成:builder.S......
  • 记一次 .NET某工业视觉软件 崩溃分析
    一:背景1.讲故事前两天给训练营里的一位学员分析了一个dump,学员因为弄了一整天也没找到祸根,被我一下子弄出来了,极度想看看我是怎么分析的?由于在微信上不能一言两语表尽,干脆写一篇文章出来详细的讲讲吧,哈哈,训练营里的学员得有求必应哈。。。话不多说,我们一起探索下这个程序的崩溃......
  • (九).NET6.0搭建基于Redis的Hangfire定时器
    1.首先创建新的类库项目Wsk.Core.Hangfire,然后在Wsk.Core.Package包项目下引用hangfire有关的组件,包括Hangfire、Hangfire.Core、Hangfire.Redis、Hangfire.Redis.StaskExchange2.在配置文件新增基于redis的hangfire的数据库连接3.在Wsk.Core.Hangfire项目下,新增Hangfire连......
  • (十).NET6.0 搭建基于Quartz组件的定时调度任务
    1.添加Quartz定时器组件2.新建类库项目Wsk.Core.QuartzNet,并且引用包类库项目。然后新建一个中间调度类,叫QuartzMiddleJob3.新建一个Job工厂类,叫YsqJobFactory,用来获取刚刚创建的中间调度类的服务4.新建一个通用执行计划类,叫YsqJobSchedule,用于每次任务都通过该计划进行......
  • (七).NET6.0部署RabbitMQ
    1.下载erlang语言包OTP。官网地址:https://www.erlang.org/downloads2.Rabbitmq官网下载地址:https://www.rabbitmq.com/download.html需要先安装Erlang语言包,然后再安装RabbitMQ,安装RabbitMQ的服务器名称(电脑名称),以及用户名称,不要带中文,有可能会导致服务无法识别服务器,导致一......
  • (八).NET6.0添加通用的Redis功能
    1.添加包:StackExchange.Redis2.在配置文件里面,新建Redis的有关配置信息Name是别名,可以任意起。Ip是Redis的服务端地址,例如安装本地,就是127.0.0.1,端口号Port默认是6379,密码可以通过Redis安装的根目录下的配置文件进行设置,Timeout是连接的超时时间,Db是使用Redis的DB区,一般Redis......
  • (六).NET6.0通用读取配置文件功能
    1.新增Microsoft.Extensions.Configuration包在启动项目下,设置appsettings.json属性为始终复制2.新建一个文件夹Common,用于存放工具类项目。并且新建项目:Ysq.Core.AppSettings,引用package包项目,然后新建一个读取配置文件的通用类,叫AppHelper。目录结构如图3.AppHelper代码如......
  • (五).NET6.0使用Serilog进行配置和实现日志记录
    1.首先安装Serilog六件套神装包也可以对个别相应的包进行删除等,例如:1是读取配置文件的,如果不需要通过配置文件进行操作,就可以不使用这个包。2是打印到控制台的,如果不需要打印到控制台,也可以不引用。3是写入到文件的,如果不需要写入到文件,也是可以不提供的。我在此处全部引入,方便......