初始化時設置
WebView2的初始化方式如下:
var env = await CoreWebView2Environment.CreateAsync();
await webView.EnsureCoreWebView2Async(env);
它可以通過創建一個變量來初始化,這個變量的工廠函數定義如下:
public static async Task<CoreWebView2Environment> CreateAsync(
string browserExecutableFolder = null,
string userDataFolder = null,
CoreWebView2EnvironmentOptions options = null)
它可以傳入三個參數:
-
browserExecutableFolder
-
userDataFolder
-
options
前兩個參數在前面的文章中有介紹,分別是使用固定版本的Edge runtime的路徑,以及自定義用戶數據存儲路徑。第三個則又可以繼續衍生,它的構造函數如下所示:
public CoreWebView2EnvironmentOptions(
string additionalBrowserArguments = null,
string language = null,
string targetCompatibleBrowserVersion = null,
bool allowSingleSignOnUsingOSPrimaryAccount = false)
除了第一個additionalBrowserArguments可以用來傳入額外的啟動參數外,其它的幾個就一般很少使用了。
運行時設置
WebView2初始化完成后,還可以在webView.CoreWebView2.Settings中進行一些動態設置,主要包括:
-
IsScriptEnabled 是否啟用JS腳本
-
IsWebMessageEnabled 是否啟用WebMessage
-
AreDefaultScriptDialogsEnabled 是否啟用默認的對話框
-
IsStatusBarEnabled 是否顯示狀態欄,關閉時鼠標懸浮在鏈接上時右下角沒有url地址顯示
-
AreDevToolsEnabled 是否啟用開發工具, 默認為true,關閉時菜單中的相應選項也一起關閉
-
AreDefaultContextMenusEnabled 是否啟用右鍵菜單
-
AreHostObjectsAllowed 是否啟用腳本的HostObject注入
-
IsZoomControlEnabled 是否啟用縮放
-
IsBuiltInErrorPageEnabled 是否啟用默認的錯誤對話框
