トレーニング
モジュール
Navigation in a canvas app in Power Apps - Training
In this module, learners do an in-depth exploration of navigation in Power Apps.
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
WebView2 アプリのユーザーが別の Web ページ、URL、またはファイル パスに移動すると、これは ナビゲーションです。 各ナビゲーションでは、ナビゲーション関連のイベントのシーケンスが発生します。 WebView2 アプリのネイティブ部分は、これらのナビゲーション イベントをリッスンして処理します。
ナビゲーション イベントは、WebView2 インスタンスに表示されるコンテンツに対して特定の非同期アクションが発生したときに実行されます。 たとえば、WebView2 ユーザーが新しい Web サイトに移動すると、ネイティブ コンテンツは NavigationStarting
イベントをリッスンすることで変更をリッスンします。 ナビゲーション アクションが完了すると、 NavigationCompleted
が実行されます。
サポートされているプラットフォーム: Win32、Windows フォーム、WinUI、WPF。
ナビゲーションの各ステップで発生するイベントの通常のシーケンスを次に示します。
Sequence | イベント | 説明 | API リファレンスの概要 |
---|---|---|---|
1 | NavigationStarting |
WebView2 が移動を開始し、ナビゲーションによってネットワーク要求が生成されます。 ホストは、イベント中に要求を許可しない場合があります。 | 不要なナビゲーションをブロックする |
2 | SourceChanged |
WebView2 のソースが新しい URL に変更されます。 イベントは、フラグメント、ナビゲーションなど、ネットワーク要求を引き起こさないナビゲーション アクション 発生する可能性があります。 | ナビゲーション履歴 |
3 | ContentLoading |
WebView2 は、新しいページのコンテンツの読み込みを開始します。 | ナビゲーション イベント |
4 | HistoryChanged |
ナビゲーションにより、WebView2 の履歴が更新されます。 | ナビゲーション履歴 |
5 | BasicAuthenticationRequested |
WebView が基本的な HTTP 認証要求を検出したときに発生します。 「WebView2 アプリの基本認証」を参照してください。 | 認証 |
6 | DOMContentLoaded |
WebView2 は DOM コンテンツの解析を終了しますが、ページ上のすべてのイメージ、スクリプト、およびその他のコンテンツの読み込みが完了していません。 | ナビゲーション イベント |
7 | NavigationCompleted |
WebView2 では、新しいページでのコンテンツの読み込みが完了します。 | ナビゲーション イベント |
上の図は、それぞれのeventArgs
オブジェクトで同じNavigationId
プロパティを持つナビゲーション イベントを示しています。
各ナビゲーション イベントの eventArgs
オブジェクトの NavigationId
プロパティを使用して、新しいドキュメントごとにナビゲーション イベントを追跡します。 各ナビゲーションには、一連のナビゲーション イベントが含まれます。
NavigationId
値は、新しいドキュメントへのナビゲーションが正常に完了するたびに変更されます。
異なるナビゲーション ID を持つナビゲーション イベントが重複する可能性があります。 たとえば、ナビゲーション イベントを開始するときは、関連する NavigationStarting
イベントを待機する必要があります。
NavigationStarting
イベントは、NavigationStartingEventArgs
オブジェクトの NavigationId
プロパティによって識別されます。 その後、別のナビゲーションを開始すると、次のシーケンスが表示されます。
NavigationStarting
イベント。NavigationStarting
イベント。NavigationCompleted
イベント。エラーが発生した場合、ナビゲーションがエラー ページに続くかどうかに応じて、 ContentLoading
イベントが発生する場合とそうでない場合があります。
HTTP リダイレクトが発生した場合、行には複数の NavigationStarting
イベントがあり、後のイベント引数には IsRedirect
プロパティが設定されます。ただし、ナビゲーション ID は変わりません。
同じドキュメント内のフラグメントへの移動などの同じドキュメント ナビゲーション イベントでは、 NavigationStarting
イベントが発生せず、ナビゲーション ID が変更されることはありません。
WebView2 インスタンス内のフレーム内のナビゲーション イベントを監視または取り消すには、同等のフレーム関連の API とイベントを使用します。 「WebView2 アプリでのフレームの使用」を参照してください。
ナビゲーション イベントを処理する方法を示すコード例については、次を参照してください。
WebView2 サンプル アプリ では、ナビゲーション イベントの処理についても説明します。
トレーニング
モジュール
Navigation in a canvas app in Power Apps - Training
In this module, learners do an in-depth exploration of navigation in Power Apps.