WebView2 瀏覽器旗標

與 Microsoft Edge WebView2 互動並影響行為的其中一個方式是傳遞瀏覽器旗標 (引數,或將參數) WebView2。 這些瀏覽器旗標對於測試即將推出的功能及診斷問題很有用。

對於生產應用程式,請勿使用這些旗標。 在開發期間,如果旗標存在,則會導致下面指定的行為。

警告

生產環境中的應用程式不應使用 WebView2 瀏覽器旗標,因為這些旗標可能隨時移除或變更,而且不一定是長期支援。

一般來說,旗標由 Chromium 和 Microsoft Edge 所擁有。 Chromium 旗標不是由 Microsoft Edge 擁有或控制,因此 Microsoft Edge 無法控制何時或如何移除或變更旗標的行為。

您可以在本機裝置環境中設定瀏覽器旗標,或透過程式碼以程式設計方式設定瀏覽器旗標。 下面描述這兩種方法。

在本機裝置環境中設定瀏覽器旗標

若要測試即將推出的功能或診斷問題,建議您透過設定 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS 環境變數或透過登錄機碼,在本機裝置環境中使用瀏覽器旗標。 如需詳細資訊,請參閱下列 Win32 API 參考: CreateCoreWebView2EnvironmentWithOptions

提升權限的應用程式會忽略透過本機裝置環境設定的旗標;請參閱: 針對提升權限的主機應用程式,請在[開發安全的 WebView2 應用程式] 中使用適當的覆寫旗標。

透過程式碼以程式設計方式設定瀏覽器旗標

另一種方法是透過將瀏覽器旗標傳遞為 AdditionalBrowserArguments 的屬性 CoreWebView2EnvironmentOptions,以程式設計方式設定瀏覽器旗標,而不是在本機裝置環境中設定瀏覽器旗標。 如果您以程式設計方式設定瀏覽器旗標,請務必在發佈應用程式之前移除程式碼中的旗標,以避免在生產環境中意外發佈旗標。

提升權限的應用程式會遵循透過程式碼設定的旗標;請參閱: 針對提升權限的主機應用程式,請在[開發安全的 WebView2 應用程式] 中使用適當的覆寫旗標。

可用的 WebView2 瀏覽器旗標

下列 WebView2 瀏覽器旗標可在開發期間使用。

對於生產應用程式,請勿使用這些旗標。 在開發期間,如果旗標存在,則會導致下面指定的行為。

標幟 描述
accept-lang 指定 Accept-Language 傳送到伺服器,並透過 Navigator.language DOM 屬性公開給 JavaScript。 格式為 language[-country],其中 language 是來自 ISO-639 的 2 個字母的代碼。
allow-file-access-from-files 允許從其他 file:// URI 讀取 file:// URI。
allow-insecure-localhost 讓 localhost 上的 TLS/SSL 錯誤能夠略過,因此不會進行任何插頁式處理,也不會封鎖任何要求。
allow-run-as-system 根據預設,Edge WebView 瀏覽器會在以系統啟動時結束 (不建議) 以系統啟動。 此旗標會略過該檢查,因此即使 Edge WebView 瀏覽器以系統啟動,Edge WebView 瀏覽器也不會結束。
allow-running-insecure-content 在投射網頁執行階段中啟用不安全的內容。 此旗標會解除封鎖從 HTTP 來源提供內容的 MSP。
auto-open-devtools-for-tabs 讓 Edge WebView 自動開啟每個索引標籤的 [開發工具] 視窗。供開發人員和自動化使用。
AutofillReplaceCachedWebElementsByRendererIds 依轉譯器識別碼取代 AutofillAgent 和 FormTracker 中快取的網頁元素。
autoplay-policy 命令列旗標名稱,以設定自動播放原則。
BlockInsecurePrivateNetworkRequests 啟用此功能之後,會封鎖從位址空間中的 public 非安全內容所啟動的私人網路要求。
block-new-web-contents 取 或 truefalse 值。 如果 true,會讓所有快顯視窗和呼叫 window.open 失敗。 如果 false、快顯視窗和通話 window.open 都會受到尊重。
BreakoutBoxPreferCaptureTimestampInVideoFrames 還原類別屬性CoreWebView2TextureTimestamp行為,以符合 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 停用跨原始來源原則,而且不強制執行相同來源原則。 僅用於網站測試。
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 停用「DPI 感知應用程式相容性填充程式」解決方法,其透過殼層啟動 Edge WebView 瀏覽器處理程序,使得處理程序不會繼承「應用程式相容」填充程式。
edge-webview-run-with-package-id 針對橋接傳統型應用程式,使用套件身分識別 (套件識別碼) 執行 WebView 處理程序。
edge-webview-run-without-package-id 執行 WebView 處理程序,而不需要套件身分識別 (套件識別碼) 橋接桌面應用程式。
edge-webview-unique-window-class 自動附加從用戶端模組檔案名稱衍生的尾碼,而不包含路徑或副檔名詳細資料,讓 WebView2 註冊模組特定的視窗類別。 例如,對於檔案名稱 EmbeddedBrowserWebView.dll,後綴 附加EmbeddedBrowserWebViewChrome_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=DragAndDropJSFileObjects可讓您將 JavaScript 建構的File物件從 WebView2 控制項拖曳至原生 Windows 應用程式,以及以 Chromium 瀏覽器引擎為基礎的其他應用程式。 目前僅限於影像 MIME 類型。 如果沒有此旗標,則會捨棄檔案位元組,且只會以純文字形式傳遞檔案名稱。 透過此路徑傳遞的 Files 不會收到 Mark Web 標記。
enable-experimental-web-platform-features 啟用開發中的 Web 平台功能。
enable-logging 啟用錯誤層級的記錄。
force-color-profile 強制將所有監視器視為具有指定的色彩設定檔。 有效值: srgbgeneric-rgb
force-device-scale-factor 覆寫 Edge WebView 瀏覽器 UI 和內容的裝置縮放因數。
force-fieldtrials 可用於在本地測試變更時強制進行現場試驗。 引數是名稱/值組的清單,以斜線分隔。 如果試用名稱前面加上星號,則該試用版將會開始啟用。 範例: 下列引數定義兩個試用,其中第二個已啟動 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 強制 InPrivate (無痕) 模式,即使使用者資料目錄是使用 --user-data-dir 旗標指定。
isolate-origins 要求一組來源有專用的處理程序,指定為逗點分隔清單。 範例: --isolate-origins=https://www.foo.com,https://www.bar.com
js-flags 指定傳遞至 JS 引擎的旗標。 可用旗標: scavenger_max_new_space_capacity_mb: 指定 V8 JavaScript 引擎中清除程式 (次要) 記憶體記憶體回收器的 (上限) 。
較低的清除記憶體限制可減少記憶體使用量,並增加執行次要記憶體回收器的頻率。
較高的清除記憶體限制會增加記憶體使用量,並降低執行次要記憶體回收器的頻率。 範例: --js-flags=--scavenger_max_new_space_capacity_mb=8
lang WebView2 想要嘗試開啟的語言檔案。 表單 language[-country],其中 language 是 ISO-639 中的 2 個字母代碼。
log-net-log 啟用將網路記錄事件儲存至檔案。 如果指定值,則會使用該值做為目錄路徑和檔案名稱。 如果沒有提供任何值,則會將檔案命名為 netlog.json,並放置在使用者資料目錄中。
long-animation-frame-timing 為長動畫幀提供詳細計時,這些幀超過標準 16.67 毫秒持續時間 (60fps) 。 這有助於在偵錯和效能分析期間,識別和最佳化動畫密集型應用程式的效能瓶頸。
msAbydos 啟用「手寫轉換文字」體驗。
msAbydosGestureSupport 允許使用者使用手勢 (,例如刮刮手勢) ,透過使用手寫筆來刪除文字。 只有在啟用旗 msAbydos 標時才有效。
msAbydosHandwritingAttr 是否在 DOM 層級針對輸入元素啟用「手寫轉換文字」體驗。 只有在啟用旗 msAbydos 標時才有效。
msAbydosForWindowlessWV2 在視窗到視覺化裝載模式中啟用 ShellHandwriting (Windows Shell Handwriting) 功能。 只有在啟用旗 msAbydos 標時才有效。 另請參閱 WebView2 的視窗與視覺化託管
msAllowAmbientAuthInPrivateWebView2 此旗標應與瀏覽器旗標一起使用 msSingleSignOnForInPrivateWebView2 ,以使用預設認證流程或環境驗證流程啟用單一登入 (SSO) 。
msEdgeDesignerDriverFix 啟用取得內容並自動顯示 Designer 功能。 WebView2 中不支援 Designer 功能。
msEdgeDesignerUI 啟用 Designer Shoreline 應用程式。 WebView2 中不支援 Designer Shoreline 應用程式。
msEdgeDevToolsWdpRemoteDebugging 啟用遠端偵錯。 請參閱遠端 偵錯 WebView2 WinUI 2 (UWP) 應用程式遠端偵錯 Windows 裝置
msEdgeFluentOverlayScrollbar 強制啟用 Fluent 重疊捲軸,覆寫目前可能擁有的任何值 kFluentScrollbar
msEdgeHubAppDesigner 啟用 Designer Shoreline 應用程式。 WebView2 中不支援 Designer Shoreline 應用程式。
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs 使 AddWebResourceRequestedFilter 方法 (包括多載) 也適用於程序外 iframe。
.NET: AddWebResourceRequestedFilter
WinRT: AddWebResourceRequestedFilter
Win32: AddWebResourceRequestedFilterWithRequestSourceKinds
msEnhancedTextContrast 改善文字對比增強和 Gamma 校正,以符合其他原生 Windows 應用程式的品質和清晰度。 使用此旗標時,字型轉譯會在套用文字對比增強和色差補正時,遵循使用者的 ClearType 調諧器設定。
msEnhancedTrackingPreventionEnabled 啟用原生隱私權保護功能,例如封鎖位於已知為追蹤網域之網域中的 Cookie 和 Web 要求。
msFloatyMode 取 或 truefalse 值。 如果 true,啟用浮動功能。 如果 false,會停用 Floaty 功能。 使用此旗標可停用 Floaty 功能,因為 WebView 不支援瀏覽器保留實驗。
msFloatyShouldHonorIndiaHoldout 取 或 truefalse 值。 如果 true,向印度堅守團體致敬。 如果 false,會停用在使用者是印度保留群組成員時啟用的 Floaty 功能,因為 WebView 不支援瀏覽器保留實驗。
msOverlayScrollbarWinStyle 使用者是否可以在 Fluent 捲軸的重疊和非重疊模式之間切換。
msPageInteractionManagerWebview2 根據預設,WebView2 會停用 頁面互動限制管理員 API。 如果應用程式需要在 WebView2 中啟用此 API 的設定,則應用程式必須啟用此旗標。
msPdfEnableAsPreview 這項功能可讓 PDF 檢視器以最小的工具列和唯讀預覽模式啟動。
msSingleSignOnForInPrivateWebView2 此旗標可為 WebView2 的 InPrivate (無痕) 工作階段啟用單一登入 (SSO) 流程。 在 InPrivate (無痕) 模式中啟用瀏覽器型 SSO。
msSingleSignOnOSForPrimaryAccountIsShared 允許使用任何帳戶,透過使用主要作業系統帳戶中的資訊,隱含登入 Microsoft 網頁。
msSmartScreenProtection 提供 SmartScreen 保護。
msUseSpellCheckCorrectionsCard 當使用者按一下拼錯的單字時,顯示校正卡 UI。
msWebViewAllowLocalNetworkAccessChecks 啟用本機網路存取安全性檢查,除非明確允許,否則會限制來自公用來源的 Web 內容存取本機和回送網路資源。 預設為停用;必須由應用程式啟用才能設定 WebView2 中的區域網路存取行為。
注意:此功能旗標將一直適用,直到 API 完全上線且其採用達到穩定狀態為止,之後此旗標將會遭取代。
msWebView2BrowserHitTransparent 讓滑鼠和鍵盤事件透過 WebView2 控制項傳遞至基礎應用程式,以允許應用程式處理這些事件,而非 WebView2 控制項處理事件。 如果未啟用此旗標,WebView2 控制項會處理滑鼠和鍵盤事件;事件不會傳遞到基礎 App。 此旗標可讓您針對應用程式需要直接處理輸入事件的情況下,測試當 WebView2 控制項未攔截輸入事件時應用程式的行為方式。 此旗標不接受值。 此旗標可能會導致應用程式當機或凍結。
msWebView2CancelInitialNavigation 取消 WebView2 中的初始瀏覽,以改善啟動效能。
msWebView2CodeCache 使在 SetVirtualHostNameToFolderMapping WebView2 應用程式中載入的 JavaScript 資源透過位元組碼快取載入或 add_WebResourceRequested 符合位元組碼快取的資格,這應該會加快第三次和後續載入的速度。 此功能也會為使用 DevTools 網路攔截機制的任何其他元件啟用位元組碼快取,以提供自訂回應;請參閱 網路要求的自訂管理
msWebView2EnableDownloadContentInWebResourceResponseReceived 允許在 中提供成為下載的瀏覽回應。WebResourceResponseReceived
msWebView2EnableDraggableRegions 取 或 truefalse 值。 如果 true,會啟用 WebView2 內的網頁使用 app-region: drag\|nodrag CSS 樣式,這會導致具有該樣式的元素表現得像標題列。 如果 false,或沒有此旗標, app-region: drag\|nodrag 則 CSS 樣式沒有作用。
msWebView2NativeEventDispatch 使用原生 Mojo 連線來發送內部事件,例如 Web 訊息至轉譯器程序。
msWebView2SimulateMemoryPressureWhenInactive 模擬非使用中 Web 檢視的記憶體壓力。
msWebView2TextureStream 允許將擷取或撰寫的視訊框架串流到 WebView2 控制項,JavaScript 可以透過 W3C 標準 DOM API,包括 視訊內嵌元素MediaStream,轉譯或以其他方式與框架互動。
msWebView2TreatAppSuspendAsDeviceSuspend 當所有 WebView 都暫停時,讓 WebView2 將應用程式視為暫停裝置,並暫停所有延遲的工作和計時器。
no-proxy-server 覆寫傳遞的任何其他 Proxy 伺服器旗標。
net-log-capture-mode 設定要在網路記錄檔中擷取的事件細微性。 有效值: DefaultIncludeSensitiveEverything
no-network-profile-warning 如果 UDF 位於網路共用上,會讓瀏覽器發出警告。 只有 Windows 才支援此旗標;在其他平台上會忽略此旗標。
no-sandbox 針對通常會沙箱化的所有程序類型停用沙箱。 做為瀏覽器層級旗標,僅用於測試目的。
no-first-run 略過 First-Run 工作,無論是否真的是第一次執行,並跳過顯示新增功能頁面。 此旗標會由 First-Run 體驗 (FRE) ) 的 (,以及顯示 [新增功能]) 的 (覆kForceWhatsNewkForceFirstRun。 此旗標不會捨棄 [首次執行] Sentinel,因此不會防止下次在沒有此旗標的情況下啟動 Edge WebView 瀏覽器時發生 First-Run 體驗。 此旗標不會更新上一個「新增功能」里程碑,因此不會防止下次在沒有此旗標的情況下啟動 Edge WebView 瀏覽器時顯示「新增功能」。
PartitionedCookies 讓網站能夠選擇加入,以使用 Partitioned 屬性將其 Cookie 依最上層網站進行分割。 只有當瀏覽器位於設定 Cookie 時所處的同一頂層網站時,才會傳送分割的 Cookie。
proxy-auto-detect 強制執行 Proxy 自動偵測。
proxy-bypass-list 略過 Proxy 設定的主機清單;然後,指定的主機會改用直接連線。 除非同時指定,否則 --proxy-server 會忽略此旗標。 多個主機可以提供為逗點分隔清單。
proxy-server 覆寫系統設定的 Proxy 伺服器。 此旗標只會影響 HTTP 和 HTTPS 要求。
remote-allow-origins 僅啟用來自指定來源的 Web 通訊端連線。 *萬用字元允許任何來源。
remote-debugging-port 在指定連接埠上啟用透過 HTTP 遠端偵錯。
RendererAppContainer 啟用轉譯器 AppContainer
Restart 表示 Microsoft Edge WebView2 瀏覽器處理程序已重新啟動 (例如在旗標變更) 之後。 使用此旗標可在記錄 Launch.Mode2 計量時忽略啟動。
sdsm-state 「Super Duper Secure 模式」狀態。 有效值: offbasicbalancedstrict
SharedArrayBuffer 表示 SharedArrayBuffer 存在對話。
SpareRendererForSitePerProcess 讓 Edge Webview 備用轉譯器程序嘗試一律為最近要求 BrowserContext的暖備用轉譯器程序執行。 此功能僅在每處理程序網站模式下查閱。
ThirdPartyStoragePartitioning 啟用按頂層網站分割協力廠商儲存體, IndexedDB 例如 或 CacheStorage,以減少指紋辨識。
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 使用 WinHttp 解析 Proxy,而不是使用 WebView2 的一般 Proxy 解析邏輯。 只有 Windows 才支援此旗標。
user-agent 用來以自訂使用者代理程式覆寫預設使用者代理程式的字串。
user-data-migrated 表示此程序是在使用者資料移轉之後重新啟動的結果。
UseBackgroundNativeThreadPool 造成 WebView2 ThreadPoolImpl 使用由原生執行緒集區實作支援的背景 ThreadGroup。
UseNativeThreadPool 讓 WebView2 ThreadPoolImpl 使用由原生執行緒集區實作支援的前景 ThreadGroup
V8Maglev 啟用磁懸浮編譯器。 這只會在手動覆蓋時設置 V8 標誌;否則,它將遵循 V8 預設值。

另請參閱