ナビゲーションイベントNavigation events

サポートされているプラットフォーム:Supported platforms:

Win32, Windows Forms, WinUi, WPFWin32, Windows Forms, WinUi, WPF

ナビゲーション イベントは、WebView2 インスタンスに表示されるコンテンツに対して特定の非同期アクションが発生すると実行されます。Navigation events run when specific asynchronous actions occur to the content displayed in a WebView2 instance. たとえば、WebView2 ユーザーが新しい Web サイトに移動すると、ネイティブ コンテンツはイベントを使用して変更をリッスン NavigationStarting します。For example, when a WebView2 user navigates to a new website, the native content listens for the change using NavigationStarting event. ナビゲーション アクションが完了すると、実行 NavigationCompleted されます。When the navigation action completes, NavigationCompleted runs. ナビゲーション イベントの良い例については 、「WebView2 の開始ガイド」に移動しますFor a good example of navigation events, navigate to WebView2 getting started guide.

ナビゲーション イベントの通常のシーケンス NavigationStartingSourceChanged 、、、、、、 ContentLoading HistoryChanged です NavigationCompletedThe normal sequence of navigation events is NavigationStarting, SourceChanged, ContentLoading, HistoryChanged, and then NavigationCompleted. 次のイベントは、各ナビゲーション中の WebView2 の状態について説明します。The following events describe the state of WebView2 during each navigation.

Microsoft Edge WebView2 ナビゲーション イベント

注意

図は、それぞれのイベント引数に同じ NavigationId プロパティを持つナビゲーション イベントを表します。The figure represents navigation events with the same NavigationId property on the respective event argument.

シーケンスSequence [Event Name]Event name 詳細Details
11 NavigationStarting WebView2 は移動を開始し、ナビゲーションはネットワーク要求になります。WebView2 starts to navigate and the navigation results in a network request. ホストは、イベント中に要求を禁止する場合があります。The host may disallow the request during the event.
22 SourceChanged WebView2 のソースが新しい URL に変更されます。The source of WebView2 changes to a new URL. このイベントは、フラグメント ナビゲーションなどのネットワーク要求を引き起こしていないナビゲーション アクションによって発生する可能性があります。The event may result from a navigation action that does not cause a network request such as a fragment navigation.
33 ContentLoading WebView は、新しいページのコンテンツの読み込みを開始します。WebView starts loading content for the new page.
44 HistoryChanged ナビゲーションによって、WebView2 の履歴が更新されます。The navigation causes the history of WebView2 to update.
55 NavigationCompleted WebView2 は、新しいページでのコンテンツの読み込みを完了します。WebView2 completes loading content on the new page.

ナビゲーション ID ( event) を使用して、新しい各ドキュメントへのナビゲーション NavigationId イベントを追跡します。Track navigation events to each new document using the navigation ID (NavigationId event). WebView NavigationId のイベントは、新しいドキュメントへの正常なナビゲーションが完了する度に変更されます。The NavigationId event of WebView changes every time a successful navigation to a new document completes.

イベントのインスタンスが異なるナビゲーション NavigationId イベントが重複する場合があります。Navigation events with different instances of NavigationId event may overlap. たとえば、ナビゲーション イベントを開始する場合は、関連するイベントを待つ必要 NavigationStarting があります。For instance, when you start a navigation event, you must wait for the related NavigationStarting event. その後、別のナビゲーションを開始すると、最初のナビゲーションのイベントが表示され、その後に 2 番目のナビゲーションのイベントが表示され、次に最初のナビゲーションのイベントが続き、2 番目のナビゲーションに適したナビゲーション イベントの残りの部分が表示されます。 NavigationStarting NavigationStarting NavigationCompletedIf you then start another navigation, you should see the NavigationStarting event for the first navigate followed by the NavigationStarting event for the second navigate, followed by the NavigationCompleted event for the first navigation and then all the rest of the appropriate navigation events for the second navigation.

エラーの場合、ナビゲーションがエラー ページに続いているかどうかによって、イベントが発生する場合とできない ContentLoading 場合があります。In error cases, there may or may not be a ContentLoading event depending on whether the navigation is continued to an error page.

HTTP リダイレクトが発生した場合、1 行に複数のイベントが発生し、後でイベントの引数にプロパティが設定されているが、イベント NavigationStarting IsRedirect は同 NavigationId じままです。If an HTTP redirect occurs, there are multiple NavigationStarting events in a row, where later event arguments have the IsRedirect property set, however the NavigationId event remains the same.

フラグメントへの移動など、同じドキュメント ナビゲーション イベントはイベントを発生しないし、イベント NavigationStarting をインクリメント NavigationId しない。Same document navigation events, such as navigating to a fragment, do not result in the NavigationStarting event and do not increment the NavigationId event.

WebView2 インスタンス内のサブフレーム内のナビゲーション イベントを監視またはキャンセルするには、同等のフレーム以外の対応するイベントと同様に機能するイベント FrameNavigationStarting FrameNavigationCompleted を使用します。To monitor or cancel navigation events inside subframes in a WebView2 instance, use the FrameNavigationStarting and FrameNavigationCompleted events that act just like the equivalent non-frame counterpart events.

関連項目See also

Microsoft Edge WebView チームと連絡を取り合うGetting in touch with the Microsoft Edge WebView team

お客様のフィードバックを共有し、より充実した WebView2 エクスペリエンスを構築します。Share your feedback to help build richer WebView2 experiences. 機能のリクエストやバグを送信したり、既知の問題を検索したりするには、 Microsoft Edge WebView フィードバック リポジトリに移動してください。To submit feature requests or bugs, or search for known issues, navigate to the Microsoft Edge WebView feedback repo.