在您的應用程式中內嵌 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。
  • 另請參閱:

  • WebView2 的主要類別:環境、控制器和核心
  • Web/原生 Interop

    Microsoft Edge WebView2 控制件可讓您將 Web 內容內嵌至原生應用程式。 您可以使用簡單的訊息、JavaScript 程式代碼和原生物件,在原生程式代碼和 Web 程式代碼之間進行通訊。 以下是在 Web 和原生程式代碼之間進行通訊的主要 API。

    下列小節:

  • 主機/Web 對象共用
  • Web 傳訊
  • 腳本對話框
  • 共用緩衝區
  • Web/原生 Interop 的常見使用案例:

  • 流覽至不同的網站之後,更新原生主機視窗標題。
  • 從 Web 應用程式傳送原生相機物件並使用其方法。
  • 在應用程式的 Web 端執行專用的 JavaScript 檔案。
  • 另請參閱:

  • 原生端和網頁端程序代碼的互操作性
  • 從原生端程式代碼呼叫 Web 端程式代碼
  • 從 Web 端程式代碼呼叫原生端程式代碼
  • 從 Web 端程式代碼呼叫原生端 WinRT 程式代碼
  • 適用於 JavaScript API 的 WebView2 window.chrome.webview 中的 JavaScript API
  • 主機/Web 對象共用

    WebView2 可讓原生程式代碼中定義的對象傳遞至應用程式的 Web 端程式代碼。 主機物件 是您選擇傳遞至應用程式 Web 端程式代碼之原生程式代碼中定義的任何物件。

    主機物件可以投影到 JavaScript,讓您可以從應用程式的 Web 端程式代碼呼叫原生物件方法 (或其他 API) 。 例如,您的應用程式可以呼叫這類 API,因為使用者在應用程式的 Web 端互動。 如此一來,您就不需要在 Web 端程式代碼中重新實作原生物件的 API,例如方法或屬性。

    .NET/C# WinRT/C# Win32/C++
  • CoreWebView2 類:
  •