WebView2 ブラウザー フラグ

Microsoft Edge WebView2 と対話して動作に影響を与える方法の 1 つは、ブラウザー フラグ (引数またはスイッチ) を WebView2 に渡すことです。 これらのブラウザー フラグは、今後登場する機能のテストや問題の診断に役立ちます。

運用アプリの場合は、これらのフラグを使用しないでください。 開発中に、フラグが存在する場合、以下で指定した動作が発生します。

警告

本番環境のアプリでは、WebView2 ブラウザー フラグを使用しないでください。これらのフラグはいつでも削除または変更される可能性があり、必ずしも長期的にサポートされるとは限らないためです。

通常、フラグは Chromium と Microsoft Edge の両方によって所有されます。 Chromium フラグは Microsoft Edge によって所有または制御されていないため、Microsoft Edge は、フラグの動作がいつどのように削除または変更されるかを制御できません。

ローカル デバイス環境でブラウザー フラグを設定することも、コードを使用してプログラムによってブラウザー フラグを設定することもできます。 どちらの方法についても以下で説明します。

ローカル デバイス環境でブラウザー フラグを設定する

今後の機能をテストしたり、問題を診断したりするには、 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS 環境変数を設定するか、レジストリ キーを使用して、ローカル デバイス環境でブラウザー フラグを使用することをお勧めします。 詳細については、次の Win32 API リファレンスを参照してください: CreateCoreWebView2EnvironmentWithOptions

管理者特権のアプリでは、ローカル デバイス環境経由で設定されたフラグが無視されます。「管理者特権のホスト アプリの場合、「セキュリティで保護された WebView2 アプリの開発」で適切なオーバーライド フラグを使用します。

コードによるプログラムによるブラウザー フラグの設定

ローカル デバイス環境でブラウザー フラグを設定する代わりに、CoreWebView2EnvironmentOptionsAdditionalBrowserArguments プロパティとしてブラウザー フラグを渡すことで、プログラムによってブラウザー フラグを設定するという方法もあります。 プログラムでブラウザー フラグを設定する場合は、本番環境で誤ってフラグが出荷されないように、アプリを出荷する前にコードでフラグを削除してください。

管理者特権のアプリは、コードによって設定されたフラグを優先します。「管理者特権のホスト アプリの場合、「セキュリティで保護された WebView2 アプリの開発」で適切なオーバーライド フラグを使用します。

使用可能な WebView2 ブラウザー フラグ

次の WebView2 ブラウザー フラグは、開発中に使用できます。

運用アプリの場合は、これらのフラグを使用しないでください。 開発中に、フラグが存在する場合、以下で指定した動作が発生します。

Flag 説明
accept-lang サーバーに送信し、Navigator.language DOM プロパティを介して JavaScript に公開するAccept-Languageを指定します。 形式は language[-country] で、 language は ISO-639 の 2 文字のコードです。
allow-file-access-from-files 他の file:// URI から file:// URI を読み取ることができます。
allow-insecure-localhost ローカルホスト上の TLS/SSL エラーが無視されるようにを有効にして、インタースティシャルおよび要求のブロックが行われないようにします。
allow-run-as-system 既定では、Edge WebView ブラウザーは、システムとして起動すると終了します (システムとして起動することは推奨されません)。 このフラグはそのチェックをバイパスするため、Edge WebView ブラウザーがシステムとして起動されても、Edge WebView ブラウザーは終了しません。
allow-running-insecure-content Cast Web Runtime で安全でないコンテンツを有効にします。 このフラグは、HTTP ソースからコンテンツを提供する MSP のブロックを解除します。
auto-open-devtools-for-tabs Edge WebView で各タブの DevTools ウィンドウが自動的に開きます。開発者および自動化による使用向け。
AutofillReplaceCachedWebElementsByRendererIds AutofillAgent と FormTracker でキャッシュされた Web 要素をレンダラー ID で置き換えます。
autoplay-policy 自動再生ポリシーを設定するコマンド ライン フラグ名。
BlockInsecurePrivateNetworkRequests この機能を有効にすると、 public アドレス空間内のセキュリティで保護されていないコンテキストから開始されるプライベート ネットワーク要求はブロックされます。
block-new-web-contents true値またはfalse値を取ります。 true の場合、すべてのポップアップとwindow.openへの呼び出しが失敗します。 falseする場合、ポップアップと window.open への呼び出しが受け入れられます。
BreakoutBoxPreferCaptureTimestampInVideoFrames CoreWebView2Texture クラスの Timestamp プロパティの動作を、WebView2 ランタイム バージョン 124 以前の従来の動作と一致するように元に戻します。
disable-background-timer-throttling バックグラウンド ページからのタイマー タスクのタスク調整を無効にします。
disable-domain-action-user-agent-override ドメイン アクション機能からドメインごとのユーザー エージェントのオーバーライドを無効にします。
disable-gpu GPU ハードウェア アクセラレータを無効にします。 ソフトウェア レンダラーが配置されていない場合、GPU プロセスは起動しません。
disable-gpu-driver-bug-workarounds さまざまな GPU ドライバーのバグの回避策を無効にします。
disable-site-isolation-trials サイトの分離を無効にします。
disable-web-security クロスオリジン ポリシーを無効にし、同一オリジン ポリシーは適用しません。 Web サイトのテストにのみ使用してください。
disk-cache-size ディスク キャッシュによって使用される最大ディスク領域 (バイト単位) を強制します。
do-not-de-elevate 起動時に WebView2 の昇格が解除されるのを防ぎます。 デエレティング後、無限ループを防ぐために使用します。
edge-webview-debugging-script スクリプト PostWebMessage 非同期的に実行されます。
edge-webview-disable-interactive-dragging --app-region: drag 属性を持つ要素でポインター イベントとフォーカス イベントが発生しないようにします。 このフラグが設定されていない場合、ドラッグ要素は既定で対話型になります。
edge-webview-enable-mojo-ipcz WebView2 を使用するアプリに対して MojoIpcz (mojo-ipcz) を有効にします。
edge-webview-force-personal-context Edge WebView ブラウザー プロセスを WIP 個人用コンテキストで強制的に実行します。
edge-webview-foreground-boost-opt-in フォアグラウンド ブーストへのオプトイン。
edge-webview-foreground-boost-opt-out フォアグラウンド ブーストをオプトアウトします。
edge-webview-interactive-dragging ポインター イベントとフォーカス イベントを --app-region: drag 属性を持つ要素で実行できるようにします。 ドラッグ要素は既定ではインタラクティブです。
edge-webview-is-background WebView がバックグラウンドで起動されていることを示します。
edge-webview-no-dpi-workaround シェルを使用して Edge WebView ブラウザー プロセスを起動する "DPI 認識アプリ互換性 shim" 回避策を無効にし、プロセスが "アプリ互換性" shim を継承しないようにします。
edge-webview-run-with-package-id ブリッジされたデスクトップ アプリのパッケージ ID (パッケージ ID) を使用して WebView プロセスを実行します。
edge-webview-run-without-package-id ブリッジされたデスクトップ アプリのパッケージ ID (パッケージ ID) なしで WebView プロセスを実行します。
edge-webview-unique-window-class パスや拡張子の詳細を指定せずに、クライアント モジュールのファイル名から派生したサフィックスを自動的に追加することによって、WebView2 にモジュール固有のウィンドウ クラスを登録させます。 たとえば、ファイル名 EmbeddedBrowserWebView.dllの場合、 EmbeddedBrowserWebView のサフィックスが Chrome_WidgetWin_0 に追加され、 Chrome_WidgetWin_0_EmbeddedBrowserWebView になります。 このフラグを有効にすると、異なるバージョンの WebView2 と Chromium Embedded Framework (CEF) が同じプロセスで共存し、同じクラスを共有するウィンドウと対話しようとしたときに発生する可能性があるクラッシュを回避できます。
embedded-browser-webview-dpi-awareness サーバー側プロセスの DPI 認識レベルを設定します。
enable-aggressive-domstorage-flushing DOM ストレージの積極的なフラッシュを有効にして、データ損失を最小限に抑えます。
enable-blink-features enable-blink-features=DragAndDropJSFileObjectsJavaScript で構築された File オブジェクトを WebView2 コントロールからネイティブ Windows アプリケーションおよび Chromium ブラウザー エンジンに基づく他のアプリケーションにドラッグできます。 現在、イメージ MIME の種類に制限されます。 このフラグを指定しない場合、ファイル バイトは破棄され、ファイル名のみプレーン テキストとして配信されます。 このパスを通じて配信されるFilesは、Web マーキングのMarkを受け取りません。
enable-experimental-web-platform-features 開発中の Web プラットフォーム機能を有効にします。
enable-logging エラー レベルでのログ記録を有効にします。
force-color-profile すべてのモニターを、指定されたカラー プロファイルがあるかのように処理することを強制します。 有効な値: srgbgeneric-rgb
force-device-scale-factor Edge WebView ブラウザー UI とコンテンツのデバイス スケール ファクターをオーバーライドします。
force-fieldtrials 変更をローカルでテストするときにフィールド トライアルを強制するために使用できます。 引数は、スラッシュで区切られた名前と値のペアのリストです。 試用版名の前にアスタリスクが付きている場合、その試用版はアクティブ化されます。 例: 次の引数は、2 つ目の試行をアクティブにした 2 つの試行を定義します: EdgeNow/Enable/*MaterialDesignNTP/Default/。 このオプションは、ブラウザー プロセスで同じ形式を使用して、試用版のリストをブラウザー以外のプロセスに送信するためにも使用できます。
force-fieldtrial-params 変更をローカルでテストするときにフィールド トライアルのパラメーターを強制するために使用できます。 引数は、(キー、値)ペアのパラメーターリストであり、関連付けられた(試行版、グループ)ペアがプレフィックスとして付けられます。 複数の (トライアル、グループ) ペアの場合は、コンマ区切り記号を使用します。
force-renderer-accessibility スクリーン リーダーが検出されたときにレンダラー アクセシビリティをオンデマンドで有効にする代わりに、レンダラー アクセシビリティを強制的にオンにするかどうか。 disable-renderer-accessibility フラグが存在する場合、disable-renderer-accessibility フラグはこのフラグを上書きします。
HardwareMediaKeyHandling メディアを制御するためのハードウェア メディア キーの処理を有効にします。
ignore-certificate-errors 証明書関連のエラーを無視します。
ignore-gpu-blocklist GPU ブロックリストを無視するかどうか。
incognito --user-data-dir フラグを使用してユーザー データ ディレクトリが指定されている場合でも、InPrivate (シークレット) モードを強制します。
isolate-origins コンマ区切りのリストとして指定された、一連の配信元に対する専用のプロセスが必要です。 例: --isolate-origins=https://www.foo.com,https://www.bar.com
js-flags JS エンジンに渡されるフラグを指定します。 使用可能なフラグ: scavenger_max_new_space_capacity_mb: V8 JavaScript エンジンのスカベンジャー (マイナー) ガベージ コレクターの上限 (MB 単位) を指定します。
スカベンジャー メモリ制限を低くすると、メモリ使用量が減り、小規模なガベージ コレクターの実行頻度が増えます。
スカベンジャー メモリ制限を大きくすると、メモリ使用量が増加し、小規模なガベージ コレクターを実行する頻度が減ります。 例: --js-flags=--scavenger_max_new_space_capacity_mb=8
lang WebView2 が開こうとしている言語ファイル。 language[-country] という形式の言語で、言語は ISO-639 の 2 文字のコードです。
log-net-log net log イベントをファイルに保存できるようにします。 値が指定された場合、その値はディレクトリ パスおよびファイル名として使用されます。 値が指定されていない場合、ファイルは netlog.json という名前になり、ユーザー データ ディレクトリに配置されます。
long-animation-frame-timing 長いアニメーション フレームの詳細なタイミングを提供します。これは、標準の 16.67 ミリ秒の継続時間 (60fps) を超えるフレームです。 これは、デバッグおよびパフォーマンス分析中に、アニメーションを多用するアプリケーションのパフォーマンスのボトルネックを特定して最適化するのに役立ちます。
msAbydos "手書きからテキストへの変換" エクスペリエンスを有効にします。
msAbydosGestureSupport ユーザーがジェスチャ (スクラッチアウト ジェスチャなど) を使用して、ペンを使用してテキストを削除できるようにします。 msAbydos フラグが有効になっている場合にのみ有効です。
msAbydosHandwritingAttr DOM レベルで入力要素に対して "手書きからテキストへの変換" エクスペリエンスが有効になっているかどうか。 msAbydos フラグが有効になっている場合にのみ有効です。
msAbydosForWindowlessWV2 ウィンドウからビジュアルへのホスティング モードで ShellHandwriting (Windows シェル手書き) 機能を有効にします。 msAbydos フラグが有効になっている場合にのみ有効です。 「WebView2 のウィンドウ ホスティングとビジュアル ホスティング」も参照してください。
msAllowAmbientAuthInPrivateWebView2 このフラグは、既定の資格情報フローまたはアンビエント認証フローでシングル サインオン (SSO) を有効にするために、 msSingleSignOnForInPrivateWebView2 ブラウザー フラグと共に使用されます。
msEdgeDesignerDriverFix コンテンツを取得し、Designer 機能を自動的に表示できるようにします。 Designer 機能は WebView2 ではサポートされていません。
msEdgeDesignerUI Designer Shoreline アプリを有効にします。 Designer Shoreline アプリは、WebView2 ではサポートされていません。
msEdgeDevToolsWdpRemoteDebugging リモート デバッグを有効にします。 「 WebView2 WinUI 2 (UWP) アプリのリモート デバッグ」、「 Windows デバイスのリモート デバッグ」を参照してください。
msEdgeFluentOverlayScrollbar Fluent オーバーレイ スクロールバーを強制的に有効にして、その時点で保持されている値 kFluentScrollbar 上書きします。
msEdgeHubAppDesigner Designer Shoreline アプリを有効にします。 Designer Shoreline アプリは、WebView2 ではサポートされていません。
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs AddWebResourceRequestedFilter メソッド (オーバーロードを含む) をアウトプロセス iframe にも適用します。
.NET: AddWebResourceRequestedFilter
WinRT: AddWebResourceRequestedFilter
Win32: AddWebResourceRequestedFilterWithRequestSourceKinds
msEnhancedTextContrast テキストのコントラスト強化とガンマ補正が改善され、他のネイティブ Windows アプリケーションの品質と鮮明さに匹敵します。 このフラグを使用すると、フォントのレンダリングでは、テキストのコントラスト調整とガンマ補正を適用するときに、ユーザーの ClearType チューナー設定が優先されます。
msEnhancedTrackingPreventionEnabled 追跡ドメインであることがわかっているドメインに存在する Cookie や Web 要求のブロックなど、ネイティブのプライバシー保護機能を有効にします。
msFloatyMode true値またはfalse値を取ります。 true の場合は、Floaty 機能を有効にします。 false の場合、Floaty 機能を無効にします。 WebView はブラウザー保持の実験をサポートしていないため、Floaty 機能を無効にするには、このフラグを使用します。
msFloatyShouldHonorIndiaHoldout true値またはfalse値を取ります。 true場合は、インドのホールドアウト グループを尊重します。 falseの場合、WebView がブラウザー保持実験をサポートしていないため、ユーザーがインドのホールドアウト グループの一部である場合に有効になる Floaty 機能を無効にします。
msOverlayScrollbarWinStyle ユーザーが Fluent スクロールバーのオーバーレイ モードと非オーバーレイ モードを切り替えることができるかどうか。
msPageInteractionManagerWebview2 既定では、 ページ操作制限マネージャー API は WebView2 に対して無効になっています。 アプリが WebView2 でこの API の構成を有効にする必要がある場合は、このフラグを有効にする必要があります。
msPdfEnableAsPreview この機能により、PDF ビューアーは最小限のツールバーで読み取り専用プレビュー モードで起動できます。
msSingleSignOnForInPrivateWebView2 このフラグは、WebView2 の InPrivate (シークレット) セッションのシングル サインオン (SSO) フローを有効にします。 InPrivate (シークレット) モードでブラウザーベースの SSO を有効にします。
msSingleSignOnOSForPrimaryAccountIsShared プライマリ OS アカウントの情報を使用して、任意のアカウントを使用して Microsoft Web ページに暗黙的にサインインできるようにします。
msSmartScreenProtection SmartScreen 保護を利用可能にします。
msUseSpellCheckCorrectionsCard スペル ミスのある単語をユーザーがクリックすると、修正カード UI が表示されます。
msWebViewAllowLocalNetworkAccessChecks 明示的に許可されていない限り、パブリック配信元からの Web コンテンツがローカルおよびループバック ネットワーク リソースにアクセスすることを制限するローカル ネットワーク アクセスのセキュリティ チェックを有効にします。 既定では無効。WebView2 でローカル ネットワーク アクセスの動作を構成するには、アプリで有効にする必要があります。
注: この機能フラグは、API が完全にオンボードされ、採用が安定した状態に達するまで適用されます。その後、このフラグは非推奨になります。
msWebView2BrowserHitTransparent マウスとキーボードのイベントを WebView2 コントロールを通して基になるアプリに渡します。これにより、WebView2 コントロールがイベントを処理する代わりにアプリがこれらのイベントを処理できるようにします。 このフラグが有効になっていない場合、WebView2 コントロールはマウスとキーボードのイベントを処理します。これらのイベントは、基になるアプリには渡されません。 このフラグを使用すると、アプリが入力イベントを直接処理する必要があるシナリオで、WebView2 コントロールが入力イベントをインターセプトしない場合のアプリの動作をテストできます。 このフラグは値を取しません。 このフラグが設定されているため、アプリがクラッシュしたりフリーズしたりする可能性があります。
msWebView2CancelInitialNavigation WebView2 での初期ナビゲーションをキャンセルして、起動パフォーマンスを向上させます。
msWebView2CodeCache SetVirtualHostNameToFolderMapping または add_WebResourceRequested を介して WebView2 アプリに読み込まれる JavaScript リソースをバイトコード キャッシュの対象にします。これにより、3 回目以降の読み込みが高速化されます。 この機能により、DevTools ネットワーク傍受メカニズムを使用してカスタム応答を提供する他のコンポーネントのバイトコード キャッシュも有効になります。「 ネットワーク要求のカスタム管理」を参照してください。
msWebView2EnableDownloadContentInWebResourceResponseReceived ダウンロードになるナビゲーションの応答を WebResourceResponseReceived で使用できるようになります。
msWebView2EnableDraggableRegions true値またはfalse値を取ります。 true の場合、WebView2 内の Web ページでapp-region: drag\|nodrag CSS スタイルを使用できます。これにより、そのスタイルの要素がタイトルバーのように動作します。 このフラグが falseない場合、またはこのフラグがない場合、 app-region: drag\|nodrag CSS スタイルは無効です。
msWebView2NativeEventDispatch ネイティブ mojo 接続を使用して、Web メッセージなどの内部イベントをレンダラー プロセスにディスパッチします。
msWebView2SimulateMemoryPressureWhenInactive 非アクティブな WebView のメモリ圧力をシミュレートします。
msWebView2TextureStream キャプチャまたは構成されたビデオ フレームを WebView2 コントロールにストリーミングできるようにします。JavaScript では、ビデオ埋め込み要素MediaStream などの W3C 標準 DOM API を介してフレームをレンダリングしたり、その他の方法でフレームを操作したりできます。
msWebView2TreatAppSuspendAsDeviceSuspend すべての WebView が一時停止されると、WebView2 にアプリをデバイスを一時停止されているかのように扱い、遅延したすべてのタスクとタイマーを一時停止します。
no-proxy-server 渡された他のすべてのプロキシ サーバー フラグをオーバーライドします。
net-log-capture-mode ネットワーク ログでキャプチャするイベントの粒度を設定します。 有効な値: DefaultIncludeSensitiveEverything
no-network-profile-warning UDF がネットワーク共有上にある場合にブラウザーに警告を表示します。 このフラグは Windows でのみサポートされます。このフラグは、他のプラットフォームでは無視されます。
no-sandbox 通常はサンドボックス化されるすべてのプロセスの種類に対してサンドボックスを無効にします。 テスト目的でのみブラウザー レベルのフラグとして使用することを意図しています。
no-first-run 実際の初回実行かどうかに関わらず、First-Run タスクをスキップし、[新機能] ページの表示をスキップします。 このフラグは、 kForceFirstRun (First-Run Experience (FRE) の場合) と kForceWhatsNew (新機能を表示する場合) によってオーバーライドされます。 このフラグは初回実行時のセンチネルを破棄しないため、次回このフラグなしで Edge WebView ブラウザーを起動したときに First-Run エクスペリエンスが発生するのを防ぐことはありません。 このフラグは、最後の新着情報のマイルストーンを更新しないので、次回このフラグなしで Edge WebView ブラウザーを起動したときに新着情報が表示されないようにはなりません。
PartitionedCookies サイトが Partitioned 属性を使用して最上位サイトによる Cookie のパーティション分割をオプトインできるようにします。 パーティション分割された Cookie は、Cookie が設定されたときと同じトップレベル サイトにブラウザーが存在する場合にのみ送信されます。
proxy-auto-detect プロキシの自動検出を強制します。
proxy-bypass-list プロキシ設定がバイパスされるホストのリスト。指定されたホストは、代わりに直接接続を使用します。 --proxy-server も指定しない限り、このフラグは無視されます。 複数のホストをコンマ区切りのリストとして指定できます。
proxy-server システム設定を上書きするプロキシ サーバー。 このフラグは、HTTP および HTTPS 要求にのみ影響します。
remote-allow-origins 指定したオリジンからの Web ソケット接続のみを有効にします。 * ワイルドカードはすべてのオリジンを許可します。
remote-debugging-port 指定したポートで HTTP 経由のリモート デバッグを有効にします。
RendererAppContainer レンダラー AppContainerを有効にします。
Restart Microsoft Edge WebView2 ブラウザー プロセスが再起動されたことを示します (フラグ変更後など)。 Launch.Mode2メトリックを記録するときに起動を無視するには、このフラグを使用します。
sdsm-state 「Super Duper Secure Mode」の状態。 有効な値: offbasicbalancedstrict
SharedArrayBuffer SharedArrayBuffer スレッドが存在することを示します。
SpareRendererForSitePerProcess Edge Webview スペア レンダラー プロセスで、最後に要求された BrowserContextに対して、常にウォーム スペア レンダラー プロセスを実行して試行します。 この機能は、プロセスごとのサイト モードでのみ参照されます。
ThirdPartyStoragePartitioning フィンガープリンティングを減らすために、 IndexedDBCacheStorage などのサード パーティのストレージを最上位サイトでパーティション分割できるようにします。
unsafely-treat-insecure-origin-as-secure 指定された (保護されていない) 配信元は、保護された配信元として扱います。 コンマ区切りのリストとして、複数の配信元を指定できます。 セキュア コンテキストの定義については、「origin は信頼できる可能性がありますか?」セクションを含む「セキュア コンテキスト」を参照してください。 例: --unsafely-treat-insecure-origin-as-secure=http://a.test,http://b.test
use-fake-device-for-media-stream Media Stream に偽のデバイスを使用して、実際のカメラとマイクを置き換えます。
use-fake-ui-for-media-stream メディア ストリームの既定のデバイス (WebRTC など) を選択することで、メディア ストリーム情報バーをバイパスします。 --use-fake-device-for-media-streamで動作します。 代わりに、ブラウザー タブのキャプチャなど、画面キャプチャと相互作用しない --auto-accept-camera-and-microphone-capture を使用することをお勧めします。
use-system-proxy-resolver WebView2 の通常のプロキシ解決ロジックを使用する代わりに、WinHttp を使用してプロキシを解決します。 このフラグは Windows でのみサポートされます。
user-agent 既定のユーザー エージェントをカスタム ユーザー エージェントで上書きするために使用される文字列。
user-data-migrated このプロセスがユーザー データの移行後の再起動の産物であることを示します。
UseBackgroundNativeThreadPool WebView2 ThreadPoolImpl で、ネイティブ スレッド プールの実装にサポートされているバックグラウンド ThreadGroup を使用します。
UseNativeThreadPool WebView2 ThreadPoolImpl で、ネイティブ スレッド プールの実装にサポートされているフォアグラウンド ThreadGroup が使用されるようにします。
V8Maglev 磁気浮上コンパイラを有効にします。 これは、手動でオーバーライドされた場合にのみ V8 フラグを設定します。それ以外の場合は、V8 のデフォルトに従います。

関連項目