Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn der Benutzer Ihrer WebView2-App zu einer anderen Webseite, URL oder einem anderen Dateipfad wechselt, ist dies eine Navigation. Jede Navigation löst eine Sequenz von Navigationsereignissen aus. Der native Teil Ihrer WebView2-App lauscht auf diese Navigationsereignisse und verarbeitet sie.
Navigationsereignisse werden ausgeführt, wenn bestimmte asynchrone Aktionen für den Inhalt auftreten, der in einem WebView2-instance angezeigt wird. Wenn beispielsweise ein WebView2-Benutzer zu einer neuen Website navigiert, lauscht der native Inhalt auf die Änderung, indem er auf das NavigationStarting Ereignis lauscht. Wenn die Navigationsaktion abgeschlossen ist, NavigationCompleted wird ausgeführt.
Unterstützte Plattformen: Win32, Windows Forms, WinUI, WPF.
Standard Abfolge von Ereignissen
Im Folgenden finden Sie die normale Abfolge von Ereignissen, die während der einzelnen Schritte einer Navigation ausgelöst werden:
| Sequence | Ereignis | Beschreibung | Übersicht über die API-Referenz |
|---|---|---|---|
| 1 | NavigationStarting |
WebView2 beginnt mit der Navigation, und die Navigation führt zu einer Netzwerkanforderung. Der Host lässt die Anforderung möglicherweise während des Ereignisses nicht zu. | Unerwünschte Navigation blockieren |
| 2 | SourceChanged |
Die Quelle von WebView2 ändert sich in eine neue URL. Das Ereignis kann aus einer Navigationsaktion resultieren, die keine Netzwerkanforderung verursacht, z. B. eine Fragmentnavigation . | Navigationsverlauf |
| 3 | ContentLoading |
WebView2 beginnt mit dem Laden von Inhalten für die neue Seite. | Navigationsereignisse |
| 4 | HistoryChanged |
Die Navigation bewirkt, dass der Verlauf von WebView2 aktualisiert wird. | Navigationsverlauf |
| 5 | BasicAuthenticationRequested |
Wird ausgelöst, wenn WebView auf eine Anforderung für die STANDARD-HTTP-Authentifizierung stößt. Weitere Informationen finden Sie unter Standardauthentifizierung für WebView2-Apps. | Authentifizierung |
| 6 | DOMContentLoaded |
WebView2 beendet die Analyse des DOM-Inhalts, hat aber noch nicht das Laden aller Bilder, Skripts und anderer Inhalte auf der Seite abgeschlossen. | Navigationsereignisse |
| 7 | NavigationCompleted |
WebView2 schließt das Laden von Inhalten auf der neuen Seite ab. | Navigationsereignisse |
Navigations-IDs
Das obige Diagramm zeigt Navigationsereignisse, die die gleiche NavigationId Eigenschaft für das jeweilige eventArgs Objekt aufweisen.
Verfolgen Sie Navigationsereignisse für jedes neue Dokument mithilfe der NavigationId -Eigenschaft des Objekts jedes Navigationsereignisses eventArgs nach. Jede Navigation umfasst eine Sequenz von Navigationsereignissen. Der NavigationId Wert ändert sich jedes Mal, wenn eine erfolgreiche Navigation zu einem neuen Dokument abgeschlossen wird.
Navigationsereignisse mit unterschiedlichen Navigations-IDs können sich überschneiden. Wenn Sie instance ein Navigationsereignis starten, müssen Sie auf das zugehörige NavigationStarting Ereignis warten. Das NavigationStarting Ereignis wird durch die NavigationId -Eigenschaft des NavigationStartingEventArgs -Objekts identifiziert. Wenn Sie dann eine andere Navigation starten, wird die folgende Sequenz angezeigt:
- Das
NavigationStartingEreignis für die erste Navigation. - Das
NavigationStartingEreignis für die zweite Navigation. - Das
NavigationCompletedEreignis für die erste Navigation. - Alle restlichen navigationsrelevanten Ereignisse für die zweite Navigation.
In Fehlerfällen kann es ein ContentLoading Ereignis geben, je nachdem, ob die Navigation zu einer Fehlerseite fortgesetzt wird.
Wenn eine HTTP-Umleitung auftritt, gibt es mehrere NavigationStarting Ereignisse in einer Zeile, wobei spätere Ereignisargumente die IsRedirect -Eigenschaft festgelegt haben. Die Navigations-ID bleibt jedoch gleich.
Navigationsereignisse im gleichen Dokument, z. B. das Navigieren zu einem Fragment im selben Dokument, führen nicht dazu, dass ein NavigationStarting Ereignis ausgelöst wird, und die Navigations-ID ändert sich nicht.
Navigation in Frames
Um Navigationsereignisse innerhalb von Frames in einer WebView2-instance zu überwachen oder abzubrechen, verwenden Sie die entsprechenden framebezogenen APIs und Ereignisse. Weitere Informationen finden Sie unter Verwenden von Frames in WebView2-Apps.
Beispielcode für die Navigation
Beispielcode zur Behandlung von Navigationsereignissen finden Sie unter:
- Informationen zu Navigationsereignissen finden Sie unter Erste Schritte mit WebView2 in WinUI 2-Apps (UWP) – kein Beispielcode im Artikel; Weitere Informationen finden Sie in den Artikeln anderer Frameworks.
- Schritt 8: Behandeln von Navigationsereignissen unter Erste Schritte mit WebView2 in WinUI 3-Apps (Windows App SDK).
- Schritt 7: Navigationsereignisse unter Erste Schritte mit WebView2 in WPF-Apps.
- Schritt 8: Navigationsereignisse unter Erste Schritte mit WebView2 in WinForms-Apps.
- Schritt 13: Navigationsereignisse unter Erste Schritte mit WebView2 in Win32-Apps.
Die WebView2-Beispiel-Apps veranschaulichen auch die Behandlung von Navigationsereignissen.
Siehe auch
- Navigieren Zu Seiten und Verwalten von geladenen Inhalten in Übersicht über WebView2-APIs
- Standardauthentifizierung für WebView2-Apps
- Erste Schritte mit WebView2
- WebView2Samples-Repository : ein umfassendes Beispiel für WebView2-Funktionen.
- WebView2-API-Referenz