次の方法で共有


WebView2 の機能と API の概要

アプリに WebView2 コントロールを埋め込むと、WebView2 クラスまたはインターフェイスを介して提供されるさまざまなメソッドとプロパティにアプリがアクセスできるようになります。 WebView2 には、アプリのネイティブ プラットフォーム機能の強化から、アプリによるブラウザー エクスペリエンスの変更まで、膨大な機能セットを提供する数百の API があります。 この記事では、WebView2 API の概要をグループ化して、WebView2 を使用して実行できるさまざまなことを理解するのに役立ちます。

最上位の機能領域の概要

WebView2 コントロールをホストする場合、アプリは次の機能と API にアクセスできます。

機能領域 用途
メイン クラス: 環境、コントローラー、およびコア CoreWebView2EnvironmentCoreWebView2ControllerCoreWebView2 クラス (または同等のインターフェイス) が連携して、アプリが WebView2 ブラウザー コントロールをホストし、そのブラウザー機能にアクセスできるようにします。 これらの大規模なクラスは、ホスト アプリがアクセスできるさまざまな API を公開し、ユーザーにブラウザー関連の機能の次のカテゴリを提供します。
Web/ネイティブ相互運用機能 ネイティブ アプリケーションに Web コンテンツを埋め込む。 単純なメッセージ、JavaScript コード、ネイティブ オブジェクトを使用して、ネイティブ コードと Web コード間で通信します。
ブラウザーの機能 WebView2 コントロールを使用すると、アプリは多くのブラウザー機能にアクセスできます。 これらのブラウザー機能を変更し、オンまたはオフにすることができます。
プロセス管理 アプリがそれに応じてアクションを実行できるように、WebView2 プロセスの実行、プロセスの終了、失敗したプロセスに関する情報を取得します。
ページに移動し、読み込まれたコンテンツを管理する Web ページへのナビゲーションを管理し、Web ページに読み込まれたコンテンツを管理します。
iframes 他の Web ページを独自の Web ページに埋め込みます。 埋め込まれた Web ページがいつ作成されているかを検出し、埋め込み Web ページが移動するタイミングを検出し、必要に応じて x フレーム オプションをバイパスします。
認証 アプリは、WebView2 コントロールを使用して基本認証を処理できます。 基本認証 は、HTTP プロトコルの一部である特定の認証方法です。
非フレームワーク アプリでの WebView2 のレンダリング ホスト アプリで UI フレームワークが使用されていない場合は、これらの API を使用して WebView2 レンダリング システムを設定します。 このレンダリング設定は、WebView2 がホスト アプリに出力をレンダリングする方法と、WebView2 が入力、フォーカス、アクセシビリティを処理する方法を制御します。
Composition を使用した WebView2 のレンダリング 合成ベースの WebView2 レンダリングの場合は、 CoreWebView2Environment を使用して CoreWebView2CompositionControllerを作成します。 CoreWebView2CompositionController は、 CoreWebView2Controllerと同じ API を提供しますが、合成ベースのレンダリング用の API も含まれています。
環境オプション ユーザー データ: ユーザーのコンピューター上のフォルダーであるユーザー データ フォルダー (UDF) を管理します。 UDF には、ホスト アプリと WebView2 に関連するデータが含まれています。 WebView2 アプリでは、ユーザー データ フォルダーを使用して、Cookie、アクセス許可、キャッシュされたリソースなどのブラウザー データを格納します。 1 つの UDF で複数のプロファイルを管理します。
ランタイムの選択 では、プレリリース テストとセルフホスティングがサポートされます。 ブラウザー プレビュー チャネルの検索順序を指定し、検索するブラウザー プレビュー チャネルを指定できます。
パフォーマンスとデバッグ パフォーマンスを分析してデバッグし、パフォーマンス関連のイベントを処理し、メモリ使用量を管理してアプリの応答性を高めます。
Chrome DevTools プロトコル (CDP) Chromium ベースのブラウザーをインストルメント化、検査、デバッグ、プロファイルします。 Chrome DevTools プロトコル (CDP) は、Microsoft Edge DevTools の基盤です。 WebView2 プラットフォームに実装されていない機能には、Chrome DevTools プロトコルを使用します。

このページには、リリース SDK 内の API のみが一覧表示されます。リリース SDK でまだ使用できない試験的 API や安定した API は一覧表示されません。 試験的 API を含む API の包括的な一覧については、「 WebView2 SDK のリリース ノート」を参照してください。

メイン クラス: 環境、コントローラー、およびコア

CoreWebView2EnvironmentCoreWebView2ControllerCoreWebView2 クラス (または同等のインターフェイス) が連携して、アプリが WebView2 ブラウザー コントロールをホストし、そのブラウザー機能にアクセスできるようにします。 これら 3 つの大規模なクラスでは、ホスト アプリがアクセスできるさまざまな API を公開し、ユーザーにブラウザー関連の機能の多くのカテゴリを提供します。

  • CoreWebView2Environment クラスは、同じ WebView2 ブラウザー プロセス、ユーザー データ フォルダー、およびレンダラー プロセスを共有する WebView2 コントロールのグループを表します。 この CoreWebView2Environment クラスから、 CoreWebView2Controller インスタンスと CoreWebView2 インスタンスのペアを作成します。
  • CoreWebView2Controller クラスは、ウィンドウ フォーカス、可視性、サイズ、入力などのホスティング関連の機能を担当し、アプリが WebView2 コントロールをホストします。
  • CoreWebView2 クラスは、ネットワーク、ナビゲーション、スクリプト、HTML の解析とレンダリングなど、WebView2 コントロールの Web 固有の部分用です。

関連項目:

Web/ネイティブ相互運用機能

Microsoft Edge WebView2 コントロールを使用すると、Web コンテンツをネイティブ アプリケーションに埋め込むことができます。 単純なメッセージ、JavaScript コード、およびネイティブ オブジェクトを使用して、ネイティブ コードと Web コード間で通信できます。 Web とネイティブ コード間で通信するためのメイン API を次に示します。

以下のサブセクション:

Web/ネイティブ相互運用の一般的なユース ケース:

  • 別の Web サイトに移動した後、ネイティブ ホスト ウィンドウのタイトルを更新します。
  • ネイティブ カメラ オブジェクトを送信し、Web アプリからそのメソッドを使用します。
  • アプリケーションの Web 側で専用の JavaScript ファイルを実行します。

関連項目:

ホスト/Web オブジェクト共有

WebView2 を使用すると、ネイティブ コードで定義されているオブジェクトをアプリの Web 側コードに渡すことができます。 ホスト オブジェクト は、アプリの Web 側コードに渡すために選択したネイティブ コードで定義されているオブジェクトです。

ホスト オブジェクトは JavaScript に投影できるため、アプリの Web 側コードからネイティブ オブジェクト メソッド (またはその他の API) を呼び出すことができます。 たとえば、アプリは、アプリの Web 側でのユーザー操作の結果として、このような API を呼び出すことができます。 これにより、ネイティブ オブジェクトの API (メソッドやプロパティなど) を Web 側コードに再実装する必要はありません。

スクリプトの実行

ホスト アプリが WebView2 コントロール内の Web コンテンツに JavaScript コードを追加できるようにします。

Web メッセージング

アプリは、WebView2 コントロール内の Web コンテンツにメッセージを送信し、その Web コンテンツからメッセージを受信できます。 メッセージは文字列または JSON オブジェクトとして送信されます。

必要に応じて、PostWebMessageAsJson (.NET、WinRT) の additionalObjects パラメーターまたは PostWebMessageAsJsonWithAdditionalObjects (Win32) を使用して、メッセージと共に DOM オブジェクトを投稿および受信できます。 WebView2 CoreWebView2FileSystemHandle クラスは DOM FileSystemHandleを表し、 CoreWebView2File は DOM Fileを表します。 JavaScript リファレンスの「 chrome.webview.postMessageWithAdditionalObjects 」も参照してください。

スクリプト ダイアログ

WebView2 をホストする場合、アプリはさまざまな JavaScript ダイアログを管理して、それらを抑制したり、カスタム ダイアログに置き換えたりすることができます。

共有バッファー

SharedBuffer API では、OS からの共有メモリに基づいて、WebView2 ホスト アプリ プロセスと WebView2 レンダラー プロセス間の共有バッファーがサポートされています。

関連項目:

ブラウザーの機能

WebView2 コントロールを使用すると、アプリは多くのブラウザー機能にアクセスできます。 これらのブラウザー機能を変更し、オンまたはオフにすることができます。

以下のサブセクション:

印刷

Web ページをプリンター、PDF ファイル、または PDF ストリームに印刷するには、カスタム印刷設定を構成します。

関連項目:

Cookie

WebView2 で Cookie を使用して、ユーザー セッションの管理、ユーザーの個人用設定の保存、ユーザーの動作の追跡を行うことができます。

関連項目:

画像キャプチャ

WebView2 をホストすることで、アプリはスクリーンショットをキャプチャし、画像の保存に使用する形式を示すことができます。

画面キャプチャ UI を表示するかどうかを制御する

ScreenCaptureStarting イベントは、UI が表示される前に、CoreWebView2Frame (またはその子孫の iframe) に対応する WebView2 または iframe が Screen Capture API を使用するためのアクセス許可を要求するたびに発生します。 その後、アプリは UI の表示をブロックしたり、UI の表示を許可したりできます。

ダウンロード

アプリは、WebView2 のダウンロード エクスペリエンスを管理できます。 アプリでは、次のことができます。

  • さまざまなメタデータに基づいてダウンロードを許可またはブロックします。
  • ダウンロード場所を変更します。
  • カスタム ダウンロード UI を構成します。
  • 既定の UI をカスタマイズします。

全般:

既定のエクスペリエンスを変更する:

カスタム ダウンロード エクスペリエンス:

名前を付けて保存

名前を付けて保存 API を使用すると、プログラムで 名前を付けて保存 操作を実行できます。 これらの API を使用して、既定の [名前を付けて保存] ダイアログをブロックし、サイレント 形式で保存するか、[ 名前を付けて保存] 用に独自の UI を作成できます。 これらの API は、ダウンロード API を使用する [ダウンロード] ダイアログではなく、[名前を付けて保存] ダイアログにのみ関連します。

ファイルを保存するときのセキュリティ警告を構成する

SaveFileSecurityCheckStarting イベントをリッスンすることで、アプリはこのイベントにハンドラーを登録して、ファイル パス、ファイル名拡張子、ドキュメントの配信元 URI 情報を取得できます。 その後、独自のルールを適用して、次のようなアクションを実行できます。

  • ファイルの種類のポリシーに関する既定のセキュリティ警告 UI を表示せずに、ファイルの保存を許可します。
  • 保存を取り消します。
  • ランタイム ファイルの種類のポリシーを管理するための独自の UI を作成します。

Web 通知処理

Web 通知 API では、非永続的な通知がサポートされます。 CoreWebView2NotificationReceived イベントは、Web 通知処理を制御し、ホスト アプリによるカスタマイズまたは抑制を可能にします。 未処理の通知は、既定で WebView2 の UI に設定されます。

アクセス許可

位置情報センサー、カメラ、マイクなど、一部の特権リソースにアクセスするためのアクセス許可を求める Web ページが異なる場合があります。 ホスト アプリは、アクセス許可要求にプログラムで応答でき、既定のアクセス許可 UI を独自の UI に置き換えることができます。

コンテキスト メニュー

WebView2 コントロールには、カスタマイズまたは無効化できる既定のコンテキスト メニュー (右クリック メニュー) が用意されており、独自のコンテキスト メニューを作成することもできます。

関連項目:

ステータス バー

ステータス バーはページの左下にあり、表示されている Web ページの状態が表示されます。 WebView2 では、ステータス バーを有効または無効にし、ステータス バーのテキストを取得し、ステータス バーのテキストが変更されたタイミングを確認できます。

Fluent オーバーレイ スクロール バー

Microsoft Fluent デザインでスクロール バーをスタイル化し、スクロール バーを Web コンテンツの上にオーバーレイします。 このアダプティブ スクロール バーの設計は、さまざまなデバイスとウィンドウ サイズに合わせて調整されます。

Fluent オーバーレイ スクロール バーを試すには、Microsoft Edge で [ edge://flags ] に移動し、「 Fluent オーバーレイ スクロール バー」と入力します。

関連項目:

ユーザー エージェント

ユーザー エージェントは、ブラウザー名など、ユーザーの代わりにプログラムの ID を表す文字列です。 WebView2 では、ユーザー エージェントを設定できます。

関連項目:

オートフィル

アプリは、ブラウザーのオートフィル機能が一般的な情報に対して有効になっているか、パスワードに対して有効になっているかを個別に制御できます。

オーディオ

アプリでは、すべてのオーディオのミュートとミュート解除を行い、オーディオが再生されているタイミングを確認できます。

リージョンでのマウス クリックのヒット テスト

WebView2 に含まれるリージョンに対してヒット テストの結果を提供します。 WebView2 ウィンドウのクライアント以外の領域でマウス イベントを処理する視覚的にホストされたアプリケーションに役立ちます。

スワイプ ジェスチャ ナビゲーション

WebView2 コントロールをホストすることで、アプリはタッチ入力が有効なデバイスでスワイプ ジェスチャ ナビゲーションを有効または無効にすることができます。 このジェスチャを使用すると、エンド ユーザーは次のことができます。

  • 左右にスワイプ (水平方向にスワイプ) して、ナビゲーション履歴の前または次のページに移動します。
  • 現在のページを更新 (垂直方向にスワイプ) するためにプルします。

この機能は現在、ブラウザーで既定で無効になっています。 WebView2 でこの機能を有効にするには、--pull-to-refresh スイッチを指定して、AdditionalBrowserArguments プロパティを設定します。

アクセラレータ キー (ショートカット キー) に応答するブラウザーを有効または無効にする

ICoreWebView2AcceleratorKeyPressedEventArgs には IsBrowserAcceleratorKeyEnabled プロパティがあり、ブラウザーがアクセラレータ キー (ショートカット キー) ( Ctrl + PF3 など) を処理するかどうかを制御できます。

関連項目:

全画面表示

WebView2 では、HTML 要素が全画面表示に入ったり、全画面表示から離れたりするタイミングを確認できます。

PDF ツール バー

ブラウザーの PDF ビューアーには、上部に PDF 固有のツール バーがあります。 WebView2 では、PDF ビューアー ツール バーの一部の項目を非表示にすることができます。

テーマ

WebView2 では、カラー テーマをシステム、ライト、またはダークとしてカスタマイズできます。

言語

Language プロパティは、ブラウザー UI (コンテキスト メニューやダイアログなど) に適用される WebView2 の既定の表示言語を設定し、WebView2 が Web サイトに送信するaccept-language HTTP ヘッダーを設定します。

ScriptLocale プロパティを使用すると、ホスト アプリは、Intlすべての JavaScript API と、それに依存するその他の JavaScript API (Intl.DateTimeFormat()など) の既定のロケールを設定できます。これは、時刻/日付形式の文字列形式に影響します。

新しいウィンドウ

WebView2 には、JavaScript 関数 window.open()を処理する機能が用意されています。

ウィンドウを閉じる

WebView2 には、JavaScript 関数 window.close()を処理する機能が用意されています。

ドキュメント タイトル

アプリは、現在の最上位ドキュメントのタイトルが変更されたことを検出できます。

Favicon

WebView2 では、Web サイトの Favicon を設定したり、変更されたときに通知を受け取ったりできます。

セキュリティとプライバシー

追跡防止

追跡防止を使用すると、ホスト アプリは、ユーザー プロファイルに関連付けられている WebView2 コントロールの追跡防止のレベルを制御できます。

SmartScreen

Microsoft Defender SmartScreen ("SmartScreen") は既定で有効になっています。 IsReputationCheckingRequired プロパティは、SmartScreen が有効かどうかを制御します。

SmartScreen を無効にしない場合は、ソフトウェアに SmartScreen Microsoft Defenderが含まれていることをすべてのユーザーに通知し、Microsoft プライバシーに関する声明と Microsoft Edge プライバシー ホワイト ペーパーSmartScreen で開示されているように、ユーザーの情報を収集して Microsoft に送信する必要があります。

関連項目:

  • WebView2 のデータとプライバシーのSmartScreen
カスタム クラッシュ レポート

WebView2 プロセスがクラッシュした場合、1 つ以上のミニダンプ ファイルが作成され、診断のために Microsoft に送信されます。 この API を使用して、診断を実行して分析を実行するときにクラッシュ レポートをカスタマイズします。

  • クラッシュ ダンプが Microsoft に送信されないようにするには、 IsCustomCrashReportingEnabled プロパティを false に設定します。
  • クラッシュ ダンプを見つけてカスタマイズするには、 CrashDumpFolderPath プロパティを使用します。

関連項目:

ブラウザー拡張機能

アプリは、ブラウザー拡張機能 (アドオン) を使用する WebView2 コントロールを埋め込むことができます。 Microsoft Edge 拡張機能 は、開発者が Microsoft Edge の機能を追加または変更してユーザーの閲覧エクスペリエンスを向上させるために使用する小さなアプリです。

関連項目:

プロセス管理

アプリがそれに応じてアクションを実行できるように、WebView2 プロセスの実行、プロセスの終了、失敗したプロセスに関する情報を取得します。

以下のサブセクション:

フレーム プロセス情報

GetProcessExtendedInfosを含むフレーム プロセス情報 API は、関連するレンダラー プロセスでアクティブに実行されているすべてのフレームのスナップショットコレクションを提供します。 この API を使用すると、WebView2 のどの部分でメモリや CPU 使用率などのリソースが消費されているかをアプリで検出できます。

WebView2 コントロールを使用して、アプリは Web ページへのナビゲーションを管理し、Web ページに読み込まれたコンテンツを管理できます。

以下のサブセクション:

WebView2 に読み込まれたコンテンツを管理する

これらの API は、コンテンツの読み込み、読み込みを停止し、WebView2 に再読み込みします。 読み込まれるコンテンツは次のとおりです。

  • URL からのコンテンツ。
  • HTML の文字列。
  • 仮想ホスト名を使用したローカル コンテンツからローカル フォルダーへのマッピング。
  • 構築されたネットワーク要求からのコンテンツ。

関連項目:

履歴メソッドを使用すると、WebView2 で前後のナビゲーションが可能になり、履歴イベントは履歴と WebView2 の現在のソースでの変更に関する情報を提供します。

NavigationKind は、戻る/進む、再読み込み、新しいドキュメントへのナビゲーションなど、各ナビゲーションのナビゲーションの種類を取得します。

不要なナビゲーションをブロックする

NavigationStarting イベントを使用すると、アプリは WebView2 で指定された URL への移動 (フレームを含む) への移動を取り消すことができます。

NavigationStartingおよびその他のナビゲーション イベントを使用すると、WebView2 のナビゲーションの状態をアプリに通知できます。 ナビゲーションは、新しい URL を読み込むプロセスです。

関連項目:

WebView2 でネットワーク要求を管理する

WebResourceRequested イベントを使用すると、アプリは WebView2 のすべてのネットワーク要求をインターセプトしてオーバーライドできます。 WebResourceResponseReceived イベントを使用すると、アプリは、送信された要求とネットワークから受信した応答を監視できます。

関連項目:

カスタム スキームの登録

CustomSchemeRegistrationを使用すると、WebView2 でのカスタム スキームの登録が可能になり、アプリはそれらのカスタム スキーム URL への要求に対するWebResourceRequested イベントを処理し、WebView2 をそのような URL に移動できます。

クライアント証明書

WebView2 では、クライアント証明書 API を使用して、アプリケーション レベルでクライアント証明書を選択できます。 この API を使用すると、次のことができます。

  • 必要に応じて、ユーザーに UI を表示します。
  • 既定のクライアント証明書ダイアログ プロンプトを置き換えます。
  • プログラムによって証明書のクエリを実行します。
  • WebView2 が HTTP 認証用のクライアント証明書を必要とする HTTP サーバーに要求を行っているときに、サーバーに応答する証明書を一覧から選択します。

サーバー証明書

WebView2 では、サーバー証明書 API を使用して、アプリケーション レベルでサーバーの TLS 証明書を信頼できます。 これにより、ホスト アプリは、TLS エラーについてユーザーにプロンプトを表示せずにページをレンダリングしたり、ホスト アプリで要求を自動的に取り消したりできます。

外部 URI スキームを起動する

OS に登録されている URI スキームを起動します。

iframes

iframe を使用すると、他の Web ページを独自の Web ページに埋め込むことができます。 WebView2 では、次のことができます。

  • iframe がいつ作成されているかを確認します。
  • iframe が移動するタイミングを確認します。
  • X フレーム オプションのバイパスを許可します。

関連項目:

認証

アプリは、WebView2 コントロールを使用して基本認証を処理できます。 基本認証 は、HTTP プロトコルの一部である特定の認証方法です。

関連項目:

非フレームワーク アプリでの WebView2 のレンダリング

ホスト アプリで UI フレームワークが使用されていない場合は、これらの API を使用して WebView2 レンダリング システムを設定します。 このレンダリング設定は、WebView2 がホスト アプリに出力をレンダリングする方法と、WebView2 が入力、フォーカス、アクセシビリティを処理する方法を制御します。

これらの API を使用する場合

  • UI フレームワーク - アプリの UI フレームワークを使用している場合は、これらの API を使用するのではなく、その UI フレームワークによって提供される WebView2 要素を使用する必要があります。

  • UI フレームワークがなく、コンポジションを使用しない - アプリに UI フレームワークを使用していない場合 (たとえば、純粋な Win32 を直接使用している場合)、または UI フレームワークに WebView2 要素がない場合は、このセクションのこれらの API を使用して CoreWebView2Controller を作成してアプリにレンダリングする必要があります。

  • UI フレームワークがなく、Composition を使用 する - アプリ UI が DirectComposition または Windows.UI.Composition を使用してビルドされている場合は、これらの API を使用するのではなく、 CoreWebView2CompositionController を使用する必要があります。後述の 「Composition を使用した WebView2 のレンダリング」を参照してください。

以下のサブセクション:

サイズ設定、配置、可視性

CoreWebView2Controller は親 HWNDを受け取ります。 Bounds プロパティは、親HWNDを基準にして WebView2 のサイズと位置を設定します。 WebView2 の可視性は、 IsVisibleを使用して切り替えることができます。

ズーミング

WebView2 ZoomFactor は、ウィンドウの Web コンテンツのみをスケーリングするために使用されます。 UI スケーリングは、ユーザーがマウス ホイールを回転しながら Ctrl キー を押してコンテンツをズームするときにも更新されます。

ラスター化スケール

RasterizationScale API は、コンテキスト メニュー、ヒント、ポップアップを含むすべての WebView2 UI をスケーリングします。 アプリは、WebView2 でモニタースケールの変更を検出し、RasterizationScale を自動的に更新するかどうかを設定できます。 BoundsMode は、Bounds プロパティを生ピクセルとして解釈するか、DIP ( RasterizationScaleでスケーリングする必要があるか) を構成するために使用されます。

フォーカスとタブ

WebView2 コントロールは、コントロールがフォーカスを取得するか、フォーカスを失うタイミングをアプリに知らせるためにイベントを発生させます。 タブ移動 ( Tab キーを押す) には、WebView2 にフォーカスを移動する API と、WebView2 がアプリにフォーカスを取り戻すよう要求するイベントがあります。

親ウィンドウ

WebView2 は、別の親ウィンドウ ハンドル (HWND) に再親できます。 また、WebView2 は、画面上のアプリの位置が変更されたときにも通知する必要があります。

キーボード アクセラレータ

WebView2 にフォーカスがある場合は、ユーザーからの入力を直接受け取ります。 アプリでは、特定のアクセラレータ キーの組み合わせ (ショートカット キー) をインターセプトして処理したり、通常のブラウザー アクセラレータ キーの動作を無効にしたりできます。

上記の 「アクセラレータ キー (ショートカット キー)に応答するブラウザーを有効または無効にする」も参照してください。

既定の背景色

WebView2 では、既定の背景色を指定できます。 色は、任意の不透明な色、または透明にすることができます。 この色は、HTML ページで独自の背景色が設定されていない場合に使用されます。

Composition を使用した WebView2 のレンダリング

合成ベースの WebView2 レンダリングの場合は、 CoreWebView2Environment を使用して CoreWebView2CompositionControllerを作成します。 CoreWebView2CompositionController は、 CoreWebView2Controllerと同じ API を提供しますが、合成ベースのレンダリング用の API も含まれています。

以下のサブセクション:

ビジュアル ツリーへの接続

WebView2 は、そのコンポジション ツリーを IDCompositionVisualIDCompositionTarget、または Windows::UI::Composition::ContainerVisualに接続できます。

転送入力

空間入力 (マウス、タッチ、ペン) はアプリケーションによって受信され、WebView2 に送信する必要があります。 WebView2 は、マウスの位置に基づいてカーソルを更新する必要があるときにアプリに通知します。

ドラッグ アンド ドロップ

WebView2 コントロールから別のアプリケーションへのドラッグは、既定でサポートされています。 ただし、WebView2 コントロール ドラッグするには、ホスト アプリがシステムから IDropTarget イベントを受け取るときに、ホスト アプリがイベントを WebView2 コントロールに転送する必要があります。 WebView2 コントロールにドラッグすると、WebView2 コントロール内に完全に含まれるドラッグ アンド ドロップ操作が含まれます。

次の API を使用して、 IDropTarget イベントをシステムから WebView2 コントロールに転送します。

アクセシビリティ

既定では、WebView2 は、Win32/C++ アプリの親 HWND の子としてアクセシビリティ ツリーに表示されます。 WebView2 は、アプリケーション内の他の要素に対して WebView2 コンテンツをより適切に配置するための API を提供します。

該当なし。

環境オプション

以下のサブセクション:

ユーザー データ

ユーザーのコンピューター上のフォルダーであるユーザー データ フォルダー (UDF) を管理します。 UDF には、ホスト アプリと WebView2 に関連するデータが含まれています。 WebView2 アプリでは、ユーザー データ フォルダーを使用して、Cookie、アクセス許可、キャッシュされたリソースなどのブラウザー データを格納します。

以下のサブセクション:

関連項目:

閲覧データのクリア:

複数のプロファイル

1 つのユーザー データ フォルダーで複数のプロファイルを管理します。

関連項目:

プロファイルを定義する options オブジェクトを作成します。

プロファイルを使用する WebView2 コントロールを作成します。

プロファイルにアクセスして操作します。

プロファイルを削除する

アプリは、WebView2 Web ブラウザー コントロールのユーザー プロファイルを削除できます。

関連項目:

ランタイムの選択

ランタイムの選択では、プレリリース テストとセルフホスティングがサポートされます。 WebView2 環境を作成する場合:

  • ブラウザー プレビュー チャネルの検索順序を指定するには、 CoreWebView2EnvironmentOptions.ChannelSearchKind プロパティを使用します。
  • 検索するブラウザー プレビュー チャネルを指定するには、 CoreWebView2EnvironmentOptions.ReleaseChannels プロパティを使用します。

関連項目:

パフォーマンスとデバッグ

パフォーマンスを分析してデバッグし、パフォーマンス関連のイベントを処理し、メモリ使用量を管理してアプリの応答性を高めます。

以下のサブセクション:

メモリ使用量ターゲット

lownormalなど、メモリ消費レベルを指定します。

Chrome DevTools プロトコル (CDP)

Chrome DevTools Protocol (CDP) には、Chromium ベースのブラウザーをインストルメント化、検査、デバッグ、プロファイルするための API が用意されています。 Chrome DevTools プロトコルは、Microsoft Edge DevTools の基盤です。 WebView2 プラットフォームに実装されていない機能には、Chrome DevTools プロトコルを使用します。

関連項目:

開ける:

呼び出し:

受話器:

関連項目