【问题标题】:How can we add environment parameters to Webview2 under WinUI3?WinUI3下如何给Webview2添加环境参数?
【发布时间】:2021-05-04 07:24:00
【问题描述】:

我正在尝试禁用 WebView2 运行时的网络安全性,但无法重载 EnsureCoreWebView2Async() 函数。

有什么方法可以在 WinUI3 下的 webview2 运行时添加“--disable-web-security”?

{
    CoreWebView2EnvironmentOptions environmentOptions = new CoreWebView2EnvironmentOptions() {
        AdditionalBrowserArguments = "--disable-web-security"
    };
    CoreWebView2Environment environment = await CoreWebView2Environment.CreateWithOptionsAsync("","", environmentOptions);
    await MyWebView.EnsureCoreWebView2Async(environment); #This shows error
    MyWebView.Source = new Uri(Path.Combine(Environment.CurrentDirectory, @"Html\mockup.html"));
    MyWebView.CoreWebView2.PermissionRequested += CoreWebView2_PermissionRequested;
}

截图:

【问题讨论】:

    标签: c# webview2 winui-3


    【解决方案1】:

    WinUI3 的 WebView2 控件目前无法做到这一点。

    WinUI3 WebView2 控件当前不支持使用自定义 CoreWebView2Environment 进行初始化。 CoreWebView2Environment 将是像您尝试做的那样传递命令行参数的唯一方法。

    您可以在WinUI3 GitHub project 上提出更改请求。

    【讨论】:

    • 谢谢你的回答,我也查了文档,目前在WinUI3中没有办法初始化。
    【解决方案2】:

    您可以通过在创建 webview2 之前设置环境变量来设置其他参数。 Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--disable-web-security");

    【讨论】:

    • 这个支持 WinUI 3 吗?
    • 我的错误,显然你不能通过环境变量设置 disable-web-security。虽然支持其他浏览器参数(也在 WinUI 3 中)
    • 非常感谢,我期待找到一种方法来在 webview2 中为 WinUI 3 设置代理(“--proxy-server”)。我会试试这个
    猜你喜欢
    • 2022-11-28
    • 2021-08-07
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2018-06-16
    • 2019-03-09
    相关资源
    最近更新 更多