叛逆的长颈鹿 · 爬虫(四):BeautifulSoup库的使 ...· 4 月前 · |
严肃的柚子 · 在C#中,为什么我不能在foreach循环中 ...· 7 月前 · |
刚毅的金鱼 · PHP的HTTP客户端:Guzzle的简单使 ...· 1 年前 · |
重情义的豌豆 · 网站双标题怎么生成的?火车头采集器+原创Py ...· 1 年前 · |
成熟的梨子 · quartz cron表达式 ...· 1 年前 · |
在您的應用程式中內嵌 WebView2 控制件,可讓您的應用程式存取透過 WebView2 類別或介面提供的各種方法和屬性。 WebView2 有數百個 API,提供一組廣泛的功能,範圍從增強應用程式的原生平臺功能,到讓您的應用程式能夠修改瀏覽器體驗。 本文提供 WebView2 API 的高階群組,以協助您瞭解您可以使用 WebView2 執行的不同動作。
載入 WebView2 控制件時,您的應用程式可以存取下列功能和 API:
主要類別:環境、控制器和核心
CoreWebView2Environment
、
CoreWebView2Controller
和
CoreWebView2
類別 (或對等介面) 一起運作,讓您的應用程式可以裝載 WebView2 瀏覽器控制項並存取其瀏覽器功能。 這些大型類別會公開您的主應用程式可以存取的各種 API,為您的使用者提供下列瀏覽器相關功能類別。
Web/原生 Interop
將 Web 內容內嵌至原生應用程式。 使用簡單的訊息、JavaScript 程式代碼和原生物件,在原生程式代碼和 Web 程式代碼之間進行通訊。
瀏覽器功能
WebView2 控制件可讓您的應用程式存取許多瀏覽器功能。 您可以修改這些瀏覽器功能,並將其開啟或關閉。
取得執行 WebView2 進程、結束進程和失敗進程的相關信息,讓您的應用程式可以據以採取動作。
瀏覽至頁面並管理載入的內容
管理瀏覽至網頁,以及管理網頁中載入的內容。
iframes
將其他網頁內嵌到您自己的網頁。 偵測內嵌網頁的建立時間、偵測內嵌網頁巡覽的時間,以及選擇性地略過 x 框架選項。
您的應用程式可以使用 WebView2 控制項來處理基本身份驗證。
基本身份驗證
是屬於 HTTP 通訊協定的特定驗證方法。
在非架構應用程式中轉譯 WebView2
如果您的主應用程式未使用 UI 架構,請使用這些 API 來設定 WebView2 轉譯系統。 此轉譯設定可控制 WebView2 如何將輸出轉譯到您的主應用程式,以及 WebView2 如何處理輸入、焦點和輔助功能。
使用組合轉譯 WebView2
針對以組合為基礎的 WebView2 轉譯,請使用
CoreWebView2Environment
來建立
CoreWebView2CompositionController
。
CoreWebView2CompositionController
提供與 相同的 API
CoreWebView2Controller
,但也包含組合型轉譯的 API。
使用者資料
管理使用者資料資料夾 (UDF) ,這是用戶電腦上的資料夾。 UDF 包含與主應用程式和 WebView2 相關的數據。 WebView2 應用程式會使用使用者資料資料夾來儲存瀏覽器數據,例如 Cookie、許可權和快取的資源。 在單一 UDF 下管理多個配置檔。
效能和偵錯
分析和偵錯效能、處理與效能相關的事件,以及管理記憶體使用量,以提高應用程式的回應性。
Chrome DevTools 通訊協定 (CDP)
檢測、檢查、偵錯和配置檔 Chromium 型瀏覽器。 Chrome DevTools 通訊協定 (CDP) 是 Microsoft Edge DevTools 的基礎。 針對 WebView2 平臺中未實作的功能,請使用 Chrome DevTools 通訊協定。
此頁面只會列出發行 SDK 中的 API;它不會列出發行 SDK 中尚未提供的實驗性 API 或穩定 API。 如需包含實驗性 API 的完整 API 清單,請參閱 WebView2 SDK 的版本資訊 。
CoreWebView2Environment
、
CoreWebView2Controller
和
CoreWebView2
類別 (或對等介面) 一起運作,讓您的應用程式可以裝載 WebView2 瀏覽器控制項並存取其瀏覽器功能。 這三個大型類別會公開各種 API,讓您的主應用程式可以存取這些 API,為您的使用者提供許多類別的瀏覽器相關功能。
CoreWebView2Environment
代表一組 WebView2 控制件,這些控件共用相同的 WebView2 瀏覽器進程、用戶資料資料夾和轉譯器進程。 從這個
CoreWebView2Environment
類別中,您會建立和
CoreWebView2
實例的
CoreWebView2Controller
配對。
CoreWebView2Controller
負責裝載相關功能,例如視窗焦點、可見度、大小和輸入,您的應用程式會在其中裝載 WebView2 控制件。
CoreWebView2
適用於 WebView2 控制件的 Web 特定部分,包括網路、導覽、腳本,以及剖析和轉譯 HTML。
另請參閱:
Microsoft Edge WebView2 控制件可讓您將 Web 內容內嵌至原生應用程式。 您可以使用簡單的訊息、JavaScript 程式代碼和原生物件,在原生程式代碼和 Web 程式代碼之間進行通訊。 以下是在 Web 和原生程式代碼之間進行通訊的主要 API。
下列小節:
Web/原生 Interop 的常見使用案例:
另請參閱:
window.chrome.webview
中的 JavaScript API
WebView2 可讓原生程式代碼中定義的對象傳遞至應用程式的 Web 端程式代碼。 主機物件 是您選擇傳遞至應用程式 Web 端程式代碼之原生程式代碼中定義的任何物件。
主機物件可以投影到 JavaScript,讓您可以從應用程式的 Web 端程式代碼呼叫原生物件方法 (或其他 API) 。 例如,您的應用程式可以呼叫這類 API,因為使用者在應用程式的 Web 端互動。 如此一來,您就不需要在 Web 端程式代碼中重新實作原生物件的 API,例如方法或屬性。
.NET/C# WinRT/C# Win32/C++
CoreWebView2
類:
CoreWebView2Settings
類:
CoreWebView2
類:
CoreWebView2Settings
類:
CoreWebView2Frame
類:
ICoreWebView2
介面:
ICoreWebView2Settings
介面:
ICoreWebView2Frame
介面:
CoreWebView2
類:
CoreWebView2Frame
類:
CoreWebView2Settings
類:
CoreWebView2
類:
CoreWebView2Frame
類:
CoreWebView2Settings
類:
ICoreWebView2
介面:
ICoreWebView2Frame2
介面:
ICoreWebView2Settings
介面:
CoreWebView2
類:
CoreWebView2Settings
類:
CoreWebView2Frame
類:
CoreWebView2
類:
CoreWebView2Settings
類:
CoreWebView2Frame
類:
ICoreWebView2
介面:
ICoreWebView2Settings
介面:
ICoreWebView2Frame2
介面:
ICoreWebView2
介面:
ReadOnly
ReadWrite
ReadOnly
ReadWrite
COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY
COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE
CoreWebView2Environment
類:
CoreWebView2Environment
類:
ICoreWebView2Environment6
介面:
CoreWebView2
類:
變更預設體驗:
CoreWebView2
類:
CoreWebView2Profile
類:
自訂下載體驗:
CoreWebView2
類:
CoreWebView2
類:
變更預設體驗:
CoreWebView2
類:
CoreWebView2Profile
類:
自訂下載體驗:
CoreWebView2
類:
ICoreWebView2_9
介面:
變更預設體驗:
ICoreWebView2_9
介面:
ICoreWebView2Profile
介面:
自訂下載體驗:
ICoreWebView2_4
介面:
CoreWebView2PermissionRequestedEventArgs
類:
CoreWebView2Profile
類:
CoreWebView2PermissionRequestedEventArgs
類:
CoreWebView2Profile
類:
ICoreWebView2
介面:
ICoreWebView2Frame3
介面:
ICoreWebView2PermissionRequestedEventArgs3
介面:
ICoreWebView2Profile4
介面:
CoreWebView2Environment
類:
CoreWebView2Settings
類:
CoreWebView2Environment
類:
CoreWebView2Settings
類:
ICoreWebView2_11
介面:
ICoreWebView2Environment9
介面:
ICoreWebView2Settings
介面:
ICoreWebView2_12
介面:
ICoreWebView2Settings
介面:
ICoreWebView2Settings4
介面:
CoreWebView2
類:
CoreWebView2
類:
ICoreWebView2_8
介面:
藉由裝載 WebView2 控制件,您的應用程式可以在已啟用觸控輸入的裝置上啟用或停用撥動手勢流覽。 此手勢可讓使用者:
此功能目前預設為在瀏覽器中停用。 若要在 WebView2 中啟用此功能,請設定
AdditionalBrowserArguments
屬性,並指定
--pull-to-refresh
參數。
ICoreWebView2Settings6
介面:
ICoreWebView2EnvironmentOptions
介面:
ICoreWebView2AcceleratorKeyPressedEventArgs
具有 屬性
IsBrowserAcceleratorKeyEnabled
,可讓您控制瀏覽器是否處理快速鍵 (快捷鍵) ,例如
Ctrl+P
或
F3
。
另請參閱:
ICoreWebView2
介面:
屬性
Language
會設定 WebView2 的預設顯示語言,套用至瀏覽器 UI (例如操作功能表和對話) ,以及設定
accept-language
WebView2 傳送至網站的 HTTP 標頭。
屬性
ScriptLocale
可讓主應用程式設定所有
Intl
JavaScript API 及其他相依 JavaScript API 的預設地區設定,例如
Intl.DateTimeFormat()
,這會影響時間/日期格式的字串格式設定。
ICoreWebView2EnvironmentOptions
介面:
ICoreWebView2ControllerOptions2
介面:
ICoreWebView2
介面:
ICoreWebView2
介面:
ICoreWebView2Controller
介面:
ICoreWebView2
介面:
ICoreWebView2_15
介面:
CoreWebView2EnvironmentOptions
類:
CoreWebView2Profile
類:
Basic
Balanced
Strict
CoreWebView2EnvironmentOptions
類:
CoreWebView2Profile
類:
Basic
Balanced
Strict
ICoreWebView2EnvironmentOptions5
介面:
ICoreWebView2Profile3
介面:
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED
COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT
Microsoft Defender 預設會啟用SmartScreen (“SmartScreen”) 。 屬性
IsReputationCheckingRequired
會控制是否啟用SmartScreen。
如果您未停用 SmartScreen,您必須通知所有使用者您的軟體包含 Microsoft Defender SmartScreen,並收集使用者的資訊並傳送至 Microsoft,如 Microsoft 隱私聲明 和 Microsoft Edge 隱私權白皮書 中所揭露。
另請參閱:
如果有任何 WebView2 進程損毀,則會建立一或多個小型傾印檔案並傳送給 Microsoft 進行診斷。 使用此 API 自定義執行診斷和進行分析時的當機報告。
IsCustomCrashReportingEnabled
為
false
。
CrashDumpFolderPath
屬性。
另請參閱:
CoreWebView2EnvironmentOptions
類:
CoreWebView2Environment
類:
CoreWebView2EnvironmentOptions
類:
CoreWebView2Environment
類:
ICoreWebView2EnvironmentOptions3
介面:
ICoreWebView2Environment11
介面:
您的應用程式可以內嵌 WebView2 控制件,該控件會使用瀏覽器延伸模組 (附加元件) 。 Microsoft Edge 擴 充功能是開發人員用來新增或修改 Microsoft Edge 功能的小型應用程式,可改善使用者的瀏覽體驗。
另請參閱:
CoreWebView2EnvironmentOptions
類:
CoreWebView2Profile
類:
CoreWebView2EnvironmentOptions
類:
CoreWebView2Profile
類:
CoreWebView2Environment
類:
CoreWebView2Environment
類:
ICoreWebView2
介面:
ICoreWebView2Environment5
介面:
ICoreWebView2Environment8
介面:
CoreWebView2ProcessExtendedInfo
類:
CoreWebView2
類:
CoreWebView2Frame
類:
CoreWebView2FrameInfo
類:
CoreWebView2ProcessExtendedInfo
類:
CoreWebView2
類:
CoreWebView2Frame
類:
CoreWebView2FrameInfo
類:
CoreWebView2
類:
CoreWebView2Settings
類:
CoreWebView2
類:
CoreWebView2Settings
類:
ICoreWebView2
介面:
ICoreWebView2_2
介面:
ICoreWebView2_3
介面:
ICoreWebView2Settings
介面:
CoreWebView2NavigationStartingEventArgs
類:
CoreWebView2NavigationStartingEventArgs
類:
CoreWebView2
類:
CoreWebView2Frame.NavigationStarting
CoreWebView2Frame
類:
CoreWebView2
類:
CoreWebView2Frame.NavigationStarting
CoreWebView2Frame
類:
ICoreWebView2
介面:
ICoreWebView2Frame.add_NavigationStarting
ICoreWebView2Frame.remove_NavigationStarting
ICoreWebView2Frame2
介面:
CoreWebView2Frame.NavigationCompleted
。
CoreWebView2Frame
類:
CoreWebView2Frame.NavigationCompleted
。
CoreWebView2Frame
類:
ICoreWebView2
介面:
ICoreWebView2Frame::add_NavigationCompleted
。
ICoreWebView2Frame::remove_NavigationCompleted
。
ICoreWebView2_2
介面:
ICoreWebView2Frame2
介面:
此
WebResourceRequested
事件可讓應用程式攔截並覆寫 WebView2 中的所有網路要求。 事件
WebResourceResponseReceived
可讓應用程式監視傳送至 的要求,以及從網路接收的回應。
另請參閱:
ICoreWebView2EnvironmentOptions4
介面:
ICoreWebView2_5
介面:
ICoreWebView2_14
介面:
ICoreWebView2_4
介面:
ICoreWebView2_10
介面:
如果您的主應用程式未使用 UI 架構,請使用這些 API 來設定 WebView2 轉譯系統。 此轉譯設定可控制 WebView2 如何將輸出轉譯到您的主應用程式,以及 WebView2 如何處理輸入、焦點和輔助功能。
UI 架構 - 如果您針對應用程式使用 UI 架構,則應該使用該 UI 架構所提供的 WebView2 元素,而不是使用這些 API。
沒有UI架構,也不使用組合
- 例如,如果您不是使用應用程式的UI架構 (,如果您直接使用純 Win32) ,或如果您的 UI 架構沒有 WebView2 元素,則您需要使用本節中的這些 API 來建立
CoreWebView2Controller
並轉譯到您的應用程式。
沒有 UI 架構,且使用 Composition
- 如果您的應用程式 UI 是使用
DirectComposition
或
Windows.UI.Composition
建置的,您應該使用
CoreWebView2CompositionController
而不是使用這些 API;請參閱下面
的使用組合轉譯 WebView2
。
下列小節:
CoreWebView2Controller
類:
CoreWebView2Environment
類:
CoreWebView2Controller
類:
CoreWebView2Environment
類:
ICoreWebView2Controller
介面:
CoreWebView2Environment
類:
ICoreWebView2Controller
介面: