WebView2 瀏覽器旗標
您可以與 Microsoft Edge WebView2 互動及影響行為的其中一種方式,就是將瀏覽器旗標傳遞 (自變數,或將) 切換至 WebView2。 這些瀏覽器旗標適用於測試即將推出的功能,以及診斷問題。
警告
生產環境中的應用程式不應該使用 WebView2 瀏覽器旗標,因為這些旗標可能會隨時移除或改變,而且不一定長期支援。
一般而言,旗標是由 Chromium 和 Microsoft Edge 所擁有。 Chromium 旗標不是由 Microsoft Edge 所擁有或控制,因此Microsoft Edge 無法控制何時或如何移除或改變旗標的行為。
您可以在本機裝置環境中設定瀏覽器旗標,或透過程式代碼以程式設計方式設定瀏覽器旗標。 以下說明這兩種方法。
在本機裝置環境中設定瀏覽器旗標
若要測試即將推出的功能或診斷問題,建議您透過設定 WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS
環境變數或登錄機碼,在本機裝置環境中使用瀏覽器旗標。 如需詳細資訊,請參閱下列 Win32 API 參考: CreateCoreWebView2EnvironmentWithOptions。
透過程式代碼以程式設計方式設定瀏覽器旗標
替代方法是以程式設計方式設定瀏覽器旗標,而不是在本機裝置環境中設定瀏覽器旗標,方法是傳遞瀏覽器旗標做為 AdditionalBrowserArguments
的 CoreWebView2EnvironmentOptions
屬性。 如果您以程式設計方式設定瀏覽器旗標,請務必在傳送應用程式之前移除程式代碼中的旗標,以避免不小心在生產環境中傳送旗標。
-
CoreWebView2EnvironmentOptions
類:
可用的 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 瀏覽器是以 System (啟動而結束,因為不建議) 系統。 此旗標會略過該檢查,因此即使Edge WebView 瀏覽器以系統身分啟動,Edge WebView 瀏覽器也不會結束。 |
allow-running-insecure-content |
在轉換 Web 執行時間中啟用不安全的內容。 此旗標會解除封鎖從 HTTP 來源提供內容的 MSP。 |
auto-open-devtools-for-tabs |
讓 Edge WebView 自動開啟每個索引標籤的 DevTools 視窗。供開發人員和自動化使用。 |
AutofillReplaceCachedWebElementsByRendererIds |
如果啟用,則會以轉譯器標識符取代 AutofillAgent 和 FormTracker 中快取的 Web 元素。 |
autoplay-policy |
用來設定自動執行原則的命令行旗標名稱。 |
BlockInsecurePrivateNetworkRequests |
啟用此功能時,會封鎖從地址空間中 public 不安全的內容起始的專用網要求。 |
block-new-web-contents |
如果 true 為 ,則所有彈出視窗和呼叫都會 window.open 失敗。 |
BreakoutBoxPreferCaptureTimestampInVideoFrames |
還原 類別的 Timestamp 屬性行為, CoreWebView2Texture 以符合 WebView2 運行時間 124 版和更早版本的舊版行為。 |
disable-background-timer-throttling |
從背景頁面停用定時器工作的工作節流。 |
disable-domain-action-user-agent-override |
從 [網域動作] 功能停用每個網域的使用者代理程式覆寫。 |
disable-gpu |
停用 GPU 硬體加速。 如果軟體轉譯器尚未就緒,GPU 程式就不會啟動。 |
disable-gpu-driver-bug-workarounds |
停用各種 GPU 驅動程式 Bug 的因應措施。 |
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 |
針對使用 WebView2 的應用程式啟用 MojoIpcz (mojo-ipcz) 。 |
edge-webview-foreground-boost-opt-in |
選擇加入前景提升。 |
edge-webview-foreground-boost-opt-out |
退出退出前景提升。 |
edge-webview-force-personal-context |
強制 Edge WebView 瀏覽器程式在 WIP 個人內容中執行。 |
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 感知應用程式相容性填充碼」因應措施,這會透過殼層啟動Edge WebView 瀏覽器程式,讓程式不會繼承「應用程式相容性」填充碼。 |
edge-webview-run-with-package-id |
使用封裝身分識別 (網橋桌面應用程式的套件標識碼) 來執行 WebView 進程。 |
edge-webview-run-without-package-id |
針對網橋桌面應用程式,執行不含套件身分識別 (套件標識碼) 的WebView進程。 |
embedded-browser-webview-dpi-awareness |
設定伺服器端進程的 DPI 感知層級。 |
enable-experimental-web-platform-features |
啟用正在開發的 Web 平臺功能。 |
enable-logging |
在錯誤層級啟用記錄。 |
force-color-profile |
強制將所有監視器視為具有指定的色彩配置檔。 有效值: srgb 、 generic-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 |
強制 Incognito 模式,即使使用者資料目錄是使用 --user-data-dir 旗標指定。 |
isolate-origins |
需要一組原始來源的專用進程,指定為逗號分隔清單。 例如:--isolate-origins=https://www.foo.com,https://www.bar.com. |
js-flags |
指定傳遞至 JS 引擎的旗標。 |
lang |
WebView2 想要嘗試開啟的語言檔案。 在窗體 language[-country] 中,language 是 ISO-639 中的 2 個字母代碼。 |
log-net-log |
可將網路記錄事件儲存至檔案。 如果指定值,則會使用該值作為目錄路徑和檔名。 如果未指定任何值,檔案會命名為 netlog.json ,並放在用戶資料目錄中。 |
msAbydos |
啟用「手寫轉換文字」體驗。 |
msAbydosGestureSupport |
可讓使用者使用筆勢 (,例如草稿手勢) 使用手寫筆刪除文字。 只有在啟用旗標時 msAbydos 才有效。 |
msAbydosHandwritingAttr |
DOM 層級的輸入元素是否啟用「手寫轉換文字」體驗。 只有在啟用旗標時 msAbydos 才有效。 |
msEdgeDesignerUI |
使用此旗標停用 Designer 機應用程式。 WebView2 不支援此功能。 |
msEdgeHubAppDesigner |
使用此旗標停用 Designer 機應用程式。 WebView2 不支援此功能。 |
msEdgeDesignerDriverFix |
使用此旗標來停用取得內容,並自動顯示 Designer 功能。 WebView2 不支援此功能。 |
msEdgeFluentOverlayScrollbar |
強制啟用 Fluent Overlay 滾動條,覆寫目前可能保留的任何值 kFluentScrollbar 。 |
msEdgeDevToolsWdpRemoteDebugging |
啟用遠端偵錯。 請參閱 遠端偵錯 WebView2 WinUI 2 (UWP) 應用程式、 遠端偵錯 Windows 裝置。 |
msEdgeWebViewApplyWebResourceRequestedFilterForOOPIFs |
如果啟用此旗標, AddWebResourceRequestedFilter 包含多載) 方法 (也會套用至跨進程 iframe。 .NET: AddWebResourceRequestedFilter WinRT: AddWebResourceRequestedFilter Win32: AddWebResourceRequestedFilterWithRequestSourceKinds |
msEnhancedTextContrast |
改善文字對比增強功能和 Gamma 校正,以符合其他原生 Windows 應用程式的品質和清晰度。 使用此旗標時,字型轉譯會在套用文字對比度增強功能和 Gamma 校正時遵守使用者 ClearType Tuner 設定。 |
msEnhancedTrackingPreventionEnabled |
啟用原生隱私權保護功能,例如封鎖位於已知追蹤網域之網域中的 Cookie 和 Web 要求。 |
msFloatyMode |
如果 false 為 ,則停用 Floaty 功能。 使用此旗標來停用 Floaty 功能,因為 WebView 不支援瀏覽器保留實驗。 |
msFloatyShouldHonorIndiaHoldout |
如果 true 為 ,則接受印度鑒效組。 使用此旗標,設定為 false ,以停用用戶屬於印度鑒效組的 Floaty 功能,因為 WebView 不支援瀏覽器保留實驗。 |
msOverlayScrollbarWinStyle |
使用者是否可以在 Fluent 滾動條的重疊和非重疊模式之間變更。 |
msPdfEnableAsPreview |
此功能可讓 PDF 檢視器以最少的工具列和只讀預覽模式啟動。 |
msSingleSignOnOSForPrimaryAccountIsShared |
如果啟用,允許使用主要OS帳戶的資訊,以隱含方式登入使用任何帳戶Microsoft網頁。 |
msSmartScreenProtection |
如果啟用,將可使用 SmartScreen 保護。 |
msUseSpellCheckCorrectionsCard |
如果啟用,當使用者按兩下拼錯的字組時,就會顯示新的更正卡片 UI。 |
msWebView2CancelInitialNavigation |
如果啟用,請取消 WebView2 中的初始導覽,以改善啟動效能。 |
msWebView2CodeCache |
啟用時,透過 或 add_WebResourceRequested 在 WebView2 應用程式SetVirtualHostNameToFolderMapping 中載入的 JavaScript 資源符合位元組程式代碼快取的資格,這應該會加速第三個和後續的載入。 這項功能也可讓任何其他使用 DevTools 網路攔截機制的元件進行位元組程式代碼快取,以提供自定義回應 (請參閱自 定義管理網路要求) 。 |
msWebView2EnableDownloadContentInWebResourceResponseReceived |
啟用時,允許下載的瀏覽回應可在 WebResourceResponseReceived |
msWebView2TextureStream |
如果啟用,允許將擷取或組成視訊畫面串流至 WebView2,其中 JavaScript 可以透過包含 Video 元素和 MediaStream 的 W3C 標準 DOM API 來轉譯或以其他方式與畫面互動。 |
msWebView2EnableDraggableRegions |
如果 true 為 ,則會使用 CSS 樣式來啟用 WebView2 內的 app-region: drag\|nodrag 網頁,這會導致具有該樣式的專案行為類似標題列。 如果沒有這個旗標, app-region: drag\|nodrag CSS 樣式就沒有作用。 |
msWebView2CodeCache |
啟用時,透過 或 add_WebResourceRequested 在 WebView2 應用程式SetVirtualHostNameToFolderMapping 中載入的 JavaScript 資源符合位元組程式代碼快取的資格,這應該會加速第三個和後續的載入。 此功能也可讓任何其他使用DevTools網路攔截機制來提供自定義回應的元件進行位元組程式代碼快取。 |
msWebView2NativeEventDispatch |
如果啟用, 會使用原生 Mojo 連線來分派內部事件,例如 Web 訊息到轉譯器進程。 |
msWebView2SimulateMemoryPressureWhenInactive |
如果啟用,則會模擬非使用中WebView的記憶體壓力。 |
msWebView2TreatAppSuspendAsDeviceSuspend |
如果啟用,當所有 WebView 都暫停時,WebView2 會將應用程式視為裝置已暫停,並暫停所有延遲的工作和定時器。 |
no-proxy-server |
覆寫傳遞的任何其他 Proxy 伺服器旗標。 |
net-log-capture-mode |
設定要在網路記錄中擷取的事件粒度。 有效值:Default 、IncludeSensitive 、。Everything |
no-network-profile-warning |
如果啟用,瀏覽器會在 UDF 位於網路共享時發出警告。 只有 Windows 才支援此旗標;在其他平臺上會忽略此旗標。 |
no-sandbox |
針對一般為沙盒化的所有進程類型停用沙盒。 僅供測試之用,作為瀏覽器層級旗標。 |
no-first-run |
略過 First-Run 工作,不論是否真的是第一次執行,並略過顯示新功能頁面。 First-Run Experience (FRE kForceWhatsNew ) ) 和顯示新功能) ( (會覆kForceFirstRun 寫此旗標。 此旗標不會卸除「初次執行」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 |
「進階複製者安全模式」狀態。 有效值:off 、basic 、、balanced 。strict |
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 |
使用媒體 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 |
啟用Maglev編譯程式。 這隻會在手動覆寫時設定 V8 旗標;否則,它會預設為 V8 預設值。 |
另請參閱
- Microsoft Edge WebView2 簡介
- WebView2 API 參考 - 適用於其他平台和語言的 API 參考連結,例如 WinRT/C++ (COM) 。