导航事件的正常顺序为:
- NavigationStarting
- SourceChanged
- ContentLoading
- HistoryChanged
- BasicAuthenticationRequested
- DOMContentLoaded
- NavigationCompleted
以下事件描述每次导航操作期间 WebView2 的状态:
上图显示了在各自的事件参数上具有相同NavigationId属性的导航事件。
- 使用导航ID(在NavigationId事件中提供)跟踪每个新文档的导航事件。每次成功导航到新文档时,WebView2的NavigationId事件都会发生更改。
- 具有不同NavigationId事件实例的导航事件可能会重叠。例如,启动导航事件时,必须等待相关的NavigationStarting事件。如果随后启动另一个导航,您将看到以下序列:
- 第一次导航的 NavigationStarting 事件。
- 第二次导航的 NavigationStarting 事件。
- 第一次导航的 NavigationCompleted 事件。
- 第二次导航的所有其他相应导航事件。
- 在错误情况下,可能有或可能没有内容加载事件,这取决于导航是否继续导航到错误页面。
- 如果发生HTTP重定向,则一行中有多个NavigationStarting事件,其中后面的事件参数设置了IsRedirect属性;但是,NavigationId事件保持不变。
- 相同的文档导航事件(例如导航到同一文档中的片段)不会导致NavigationStarting事件,也不会增加NavigationId事件。
- 要监视或取消WebView2实例中子框架内的导航事件,请使用FrameNavigationStarting和FrameNavigationCompleted事件。这些事件的行为类似于等效的非框架对应事件。
标签:控件,NavigationId,WebView2,NavigationStarting,文档,事件,NET,导航 From: https://www.cnblogs.com/MaoZhuaShi/p/18636279