共用方式為


WebView2 瀏覽器標記

你可以透過傳遞瀏覽器旗標 (參數,或) WebView2 Microsoft Edge WebView2 互動並影響行為。 這些瀏覽器標誌對於測試即將推出的功能以及診斷問題非常有用。

對於生產應用程式,請勿使用這些旗標。 在開發過程中,如果有旗標,就會產生以下指定的行為。

警告

生產中的應用程式不應該使用 WebView2 瀏覽器標誌,因為這些標記隨時可能被移除或更改,且不一定長期支援。

一般來說,這些旗幟同時由 Chromium 和 Microsoft Edge 擁有。 Chromium 旗標並非 Microsoft Edge 擁有或控制,因此 Microsoft Edge 無法控制旗標何時或如何移除或改變其行為。

你可以在本地裝置環境中設定瀏覽器旗標,或透過程式碼程式化設定瀏覽器旗標。 以下將介紹兩種方法。

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

為了測試即將推出的功能或診斷問題,我們建議在本地裝置環境中使用瀏覽器標誌,例如設定 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS 環境變數或登錄檔鍵。 欲了解更多資訊,請參閱以下 Win32 API 參考文獻: CreateCoreWebView2EnvironmentWithOptions

透過程式碼程式設定瀏覽器標誌

另一種方法是透過程式化設定瀏覽器標誌,將瀏覽器標誌傳遞為 AdditionalBrowserArguments 的屬性 CoreWebView2EnvironmentOptions。 如果你用程式設定瀏覽器標誌,務必在出貨前先在程式碼中移除這些標記,以避免在生產環境中誤送這些標誌。

可用的 WebView2 瀏覽器旗標

以下 WebView2 瀏覽器旗標可供開發期間使用。

對於生產應用程式,請勿使用這些旗標。 在開發過程中,如果有旗標,就會產生以下指定的行為。

描述
accept-lang 指定 Accept-Language 傳送至伺服器並透過 Navigator.language DOM 屬性暴露給 JavaScript。 格式為 language[-country],其中 language 是 ISO-639 中的兩字母代碼。
allow-file-access-from-files 允許讀取 file:// 其他 file:// URI 的 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 中快取的網頁元素替換為渲染器 ID。
autoplay-policy 用命令列旗標名稱來設定自動播放政策。
BlockInsecurePrivateNetworkRequests 啟用此功能後,來自位址空間中非安全上下文 public 的私有網路請求會被阻擋。
block-new-web-contents 取 a truefalse 值。 如果 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 禁用各種顯示卡驅動程式錯誤的變通方法。
disable-site-isolation-trials 關閉現場隔離。
disable-web-security 會停用跨來源政策,且不強制執行同源政策。 僅用於網站測試。
disk-cache-size 強制磁碟快取使用的最大磁碟空間,以位元組為單位。
do-not-de-elevate 防止 WebView2 在發射時被降高。 在卸電後使用,以防止無限循環。
edge-webview-debugging-script 非同步執行 PostWebMessage 腳本。
edge-webview-enable-mojo-ipcz 啟用 MojoIpcz (mojo-ipcz) ,支援使用 WebView2 的應用程式。
edge-webview-foreground-boost-opt-in 選擇加入前景提升。
edge-webview-foreground-boost-opt-out 選擇退出前景提升。
edge-webview-force-personal-context 強制 Edge WebView 瀏覽器程序在進行中個人情境中執行。
edge-webview-interactive-dragging 使指標事件與焦點事件能發生在具有該 --app-region: drag 屬性的元素上。 拖曳元素預設是互動式的。
edge-webview-disable-interactive-dragging 禁用指標事件與焦點事件,防止發生在具有該 --app-region: drag 屬性的元素上。 如果這個旗標沒有設定,拖曳元素預設是互動式的。
edge-webview-is-background 表示 WebView 正在背景啟動。
edge-webview-no-dpi-workaround 關閉「DPI awareness app compatibility shim」的變通機制,該機制會透過 shell 啟動 Edge WebView 瀏覽器程序,避免程序繼承「app compat」的 shim。
edge-webview-run-with-package-id 為橋接桌面應用程式執行 WebView 程序,並附有套件身份 (套件 ID) 。
edge-webview-run-without-package-id 為橋接桌面應用程式執行 WebView 程序,無需套件識別碼 (套件 ID) 。
embedded-browser-webview-dpi-awareness 設定伺服器端程序的 DPI 感知等級。
enable-aggressive-domstorage-flushing 啟用積極的DOM儲存清除功能,以減少資料遺失。
enable-experimental-web-platform-features 啟用正在開發中的網頁平台功能。
enable-logging 啟用錯誤等級的日誌記錄。
force-color-profile 強制所有螢幕都被當作擁有指定的色彩配置檔來處理。 有效值: srgbgeneric-rgb
force-device-scale-factor 覆蓋 Edge WebView 瀏覽器介面及內容的裝置縮放因子。
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 是否要忽略顯示卡的封鎖清單。
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) 中 scavenger (minior) garbage collector 的最大 (上限。
較低的拾荒記憶體限制可降低記憶體使用,並增加執行次要垃圾回收器的頻率。
較高的拾荒記憶體限制會增加記憶體使用量,並降低執行次要垃圾回收器的頻率。 範例: --js-flags=--scavenger_max_new_space_capacity_mb=8
lang WebView2 想嘗試開啟的語言檔案。 語言[-country]的形式,其中語言是ISO-639的兩字母代碼。
log-net-log 啟用將網路日誌事件儲存到檔案中。 若給定值,該值即用作目錄路徑與檔案名稱。 若未給出值,檔案將命名 netlog.json為 ,並放入使用者資料目錄。
long-animation-frame-timing 提供長動畫幀的詳細時序,長動畫幀數超過標準 16.67 毫秒時長 (60fps) 。 這有助於除錯與效能分析,識別並優化動畫密集應用的效能瓶頸。
msAbydos 實現「手寫轉文字」的體驗。
msAbydosGestureSupport 允許使用者使用手勢 (如刮寫手勢) 用筆刪除文字。 只有在 msAbydos 該旗標被啟用時才有效。
msAbydosHandwritingAttr 是否在 DOM 層級的輸入元素啟用了「手寫轉文字」的體驗。 只有在 msAbydos 該旗標被啟用時才有效。
msAllowAmbientAuthInPrivateWebView2 此旗標與瀏覽器標誌一起使用 msSingleSignOnForInPrivateWebView2 ,以啟用單一登入 (SSO) ,並使用預設憑證流程或環境驗證流程。
msEdgeDesignerDriverFix 能自動取得內容並顯示 Designer 功能。 WebView2 不支援 Designer 功能。
msEdgeDesignerUI 啟用 Designer Shoreline 應用程式。 Designer Shoreline 應用程式在 WebView2 中不被支援。
msEdgeDevToolsWdpRemoteDebugging 啟用遠端除錯。 請參閱 遠端除錯 WebView2 WinUI 2 (UWP) 應用程式遠端除錯 Windows 裝置
msEdgeFluentOverlayScrollbar 強制啟用流暢疊加捲軸條,覆蓋當下可能存在的數 kFluentScrollbar 值。
msEdgeHubAppDesigner 啟用 Designer Shoreline 應用程式。 Designer Shoreline 應用程式在 WebView2 中不被支援。
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs 使 AddWebResourceRequestedFilter 得包含超載的方法 () 也適用於非程序的 iframe。
.NET: AddWeb資源請求過濾器
WinRT: AddWebResourceRequestedFilter
Win32: AddWebResourceRequestedFilterWithRequestSourceKinds
msEnhancedTextContrast 提升文字對比度增強與伽瑪校正,以匹敵其他原生 Windows 應用程式的品質與清晰度。 使用此旗標時,字型渲染會尊重使用者 ClearType Tuner 設定,並套用文字對比增強與伽瑪校正。
msEnhancedTrackingPreventionEnabled 啟用原生隱私保護功能,例如阻擋位於已知追蹤網域中的 Cookie 及網頁請求。
msFloatyMode 取 a truefalse 值。 若 true,則啟用浮浮功能。 若 false,則會禁用漂浮功能。 使用此旗標來停用 Floaty 功能,因為 WebView 不支援瀏覽器保留實驗。
msFloatyShouldHonorIndiaHoldout 取 a truefalse 值。 如果 true,則是向印度的堅持派致敬。 如果 false,則會停用若使用者屬於印度保留群組時啟用的 Floaty 功能,因為 WebView 不支援瀏覽器保留實驗。
msOverlayScrollbarWinStyle 使用者是否能在 Fluent 滾動條的覆蓋與非覆蓋模式間切換。
msPageInteractionManagerWebview2 預設情況下,網頁 互動限制管理器 API 在 WebView2 中被停用。 如果應用程式需要在 WebView2 中啟用此 API 的設定,該應用程式必須啟用此標誌。
msPdfEnableAsPreview 此功能使 PDF 檢視器能以最小工具列啟動,並以唯讀預覽模式啟動。
msSingleSignOnForInPrivateWebView2 此旗標使 InPrivate (InPrivate) WebView2 會話的單點登入 (SSO) 流程得以實現。 啟用 InPrivate (Inguito) 模式中的瀏覽器 SSO。
msSingleSignOnOSForPrimaryAccountIsShared 允許使用任何帳號,透過主要作業系統帳號的資訊,隱式登入 Microsoft 網頁。
msSmartScreenProtection 讓智慧螢幕保護可用。
msUseSpellCheckCorrectionsCard 當使用者點擊拼錯字時,會顯示更正卡片的介面。
msWebView2BrowserHitTransparent 讓滑鼠和鍵盤事件通過 WebView2 控制項傳遞到底層應用程式,讓應用程式能處理這些事件,而非由 WebView2 控制項處理事件。 當未啟用此標誌時,WebView2 控制項會處理滑鼠與鍵盤事件;事件不會傳遞到底層應用程式。 此旗標允許測試當 WebView2 控制項未攔截輸入事件時,應用程式的行為,適用於需要直接處理輸入事件的情境。 這個旗幟不帶數值。 這個標記可能會導致應用程式當機或當機。
msWebView2CancelInitialNavigation 取消 WebView2 的初始導覽,以提升啟動效能。
msWebView2CodeCache 讓在 WebView2 應用程式SetVirtualHostNameToFolderMappingadd_WebResourceRequested中透過位元組碼快取載入的 JavaScript 資源,這應該能加快第三次及後續載入的速度。 此功能同時允許其他使用 DevTools 網路攔截機制提供自訂回應的元件進行位元碼快取;請參見 網路請求的自訂管理
msWebView2EnableDownloadContentInWebResourceResponseReceived 允許成為下載的導航回應在 中提供 WebResourceResponseReceived
msWebView2EnableDraggableRegions 取 a truefalse 值。 如果 true,使網頁在 WebView2 中能使用 app-region: drag\|nodrag CSS 樣式,使該樣式的元素表現得像標題列。 若 false,或沒有此標誌, app-region: drag\|nodrag CSS 風格不影響。
msWebView2NativeEventDispatch 使用原生 Mojo 連線來派遣內部事件,例如網頁訊息到渲染程序。
msWebView2SimulateMemoryPressureWhenInactive 模擬非啟用 WebView 的記憶體壓力。
msWebView2TextureStream 允許將擷取或合成的影片影格串流至 WebView2 控制項,JavaScript 可透過 W3C 標準 DOM API(包括 Video Embed 元素MediaStream)渲染或以其他方式互動這些影格。
msWebView2TreatAppSuspendAsDeviceSuspend 當所有 WebViews 都被暫停時,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 體驗 (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 僅啟用指定的來源點的網頁套接字連線。 *萬用牌允許任何起源。
remote-debugging-port 啟用指定的埠口上的 HTTP 遠端除錯。
RendererAppContainer 啟用渲染器 AppContainer
Restart 表示 Edge Microsoft WebView2 瀏覽器程序在 (例如旗標變更) 後被重新啟動。 記錄指標時,請使用此旗標忽略發射 Launch.Mode2
sdsm-state 「超級安全模式」狀態。 有效值: 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 使用 WinHttp 來解析代理,而非 WebView2 正常的代理解決邏輯。 這個旗標只支援 Windows。
user-agent 一個用來覆寫預設使用者代理程式的字串,並使用自訂使用者代理程式。
user-data-migrated 表示此流程是用戶資料遷移後重新啟動的產物。
UseBackgroundNativeThreadPool 導致 WebView2 ThreadPoolImpl 使用由原生執行緒池實作支援的背景 ThreadGroup。
UseNativeThreadPool 這會導致 WebView2 ThreadPoolImpl 使用由原生執行緒池實作支援的前景 ThreadGroup
V8Maglev 啟用磁浮編譯器。 這只會在手動覆蓋時設定 V8 標誌;否則,它就會依照 V8 預設引擎來決定。

另請參閱