webview2 初始设置
webview2的初始设置非常有用。可以通过设置options列表能关闭/开启很多有关浏览器webview2 (CEF,miniblink等)的安全选项
webview2 的显式初始化思路和CEF一样。如果你需要关闭诸如不安全端口提示 ERR_UNSAFE_PORT(使用Chromium (chrome)规定的不安全端口在访问连接时会显示这个错误)等类似情况,需要在webview2 初始化之前设置好对应的命令行参数。
即 options: new CoreWebView2EnvironmentOptions("–explicitly-allowed-ports=6001,6000,6666")); 此项。
–explicitly-allowed-ports 来自于参照chrome的命令行列表
webview2 初始化成功后你可以在任务管理器里面看到真正的 webview2 (CEF)本质。
就是一个独立的进程,在new CoreWebView2EnvironmentOptions 里面设置的options都是通过命令行的方式传递给这些进程的(CEF 也是一样的)
private void webView21_CoreWebView2InitializationCompleted(object sender, CoreWebView2InitializationCompletedEventArgs e)
{
Console.WriteLine("初始化成功");
webView21.CoreWebView2.Navigate("https://www.baidu.com:6000");
}
public async Task webView_Initialization(WebView2 webView)
{
if (webView != null)
{
var path = AppDomain.CurrentDomain.BaseDirectory + "WebViewCache";
var env = await CoreWebView2Environment.CreateAsync(userDataFolder: path,
browserExecutableFolder: null,
options: new CoreWebView2EnvironmentOptions("--remote-debugging-port=9222 --explicitly-allowed-ports=6001,6000,6666"));
await webView.EnsureCoreWebView2Async(env);
}
}
private void button1_Click(object sender, EventArgs e)
{
_ = webView_Initialization(this.webView21);//初始化
}
推荐阅读:https://www.cnblogs.com/TianFang/p/14405896.html