在 C# 编码环境中使用 WebView2 时禁用 Web 安全
Disabling Of Web Security When Using WebView2 in C# Coding Environment
在Visual Studio C#中使用CEFSharp作为嵌入式WebBrowser时,您需要根据用户要求禁用 Web 安全检查 作为使用此代码的解决方案:
var cefSettings = new CefSettings();
cefSettings.CefCommandLineArgs.Add("disable-web-security", "disable-web-security");
Cef.Initialize(cefSettings);
Microsoft WebView2 是一个新产品,我现在需要在相同的 C# 编码中使用它时执行相同的 禁用网络安全 环境。我已经搜索了很多,但没有可能的解决方案。
有谁知道如何使用 WebView2 设置?
提前致谢..
对于 WebView2,您可以使用 CoreWebView2EnvironmentOptions.AdditionalBrowserArguments to set command line parameters for the browser process. These are the same command line parameters that the Edge browser accepts which mostly matches the chromium command line switches,包括 --disable-web-security
。
如果您使用的是 WPF 或 WinForms WebView2 控件,它将类似于以下内容:
CoreWebView2EnvironmentOptions options = new CoreWebView2EnvironmentOptions("--disable-web-security");
CoreWebView2Environment environment = await CoreWebView2Environment.CreateAsync(null, null, options);
// EnsureCoreWebView2Async must be called before any other call
// to EnsureCoreWebView2Async and before setting the Source property
// since these will both cause initialization of the CoreWebView2 property
// but using a default CoreWebView2Environment rather than your custom one.
await webview2.EnsureCoreWebView2Async(environment);
当然请注意,如果不将 WebView2 中呈现的内容限制为您信任的内容,则不应使用禁用网络安全。禁用网络安全并在 WebView2 中呈现未知内容是危险的。
Windows 形式的代码:
public Form1()
{
InitializeComponent();
_ = InitializeAsync();
}
private async Task InitializeAsync()
{
CoreWebView2EnvironmentOptions options = new CoreWebView2EnvironmentOptions("--allow-insecure-localhost");//--disable-web-security
CoreWebView2Environment environment = await CoreWebView2Environment.CreateAsync(null, null, options);
await webView21.EnsureCoreWebView2Async(environment);
webView21.CoreWebView2.Navigate("https://yourlink.jnlp");
}
在Visual Studio C#中使用CEFSharp作为嵌入式WebBrowser时,您需要根据用户要求禁用 Web 安全检查 作为使用此代码的解决方案:
var cefSettings = new CefSettings();
cefSettings.CefCommandLineArgs.Add("disable-web-security", "disable-web-security");
Cef.Initialize(cefSettings);
Microsoft WebView2 是一个新产品,我现在需要在相同的 C# 编码中使用它时执行相同的 禁用网络安全 环境。我已经搜索了很多,但没有可能的解决方案。
有谁知道如何使用 WebView2 设置?
提前致谢..
对于 WebView2,您可以使用 CoreWebView2EnvironmentOptions.AdditionalBrowserArguments to set command line parameters for the browser process. These are the same command line parameters that the Edge browser accepts which mostly matches the chromium command line switches,包括 --disable-web-security
。
如果您使用的是 WPF 或 WinForms WebView2 控件,它将类似于以下内容:
CoreWebView2EnvironmentOptions options = new CoreWebView2EnvironmentOptions("--disable-web-security");
CoreWebView2Environment environment = await CoreWebView2Environment.CreateAsync(null, null, options);
// EnsureCoreWebView2Async must be called before any other call
// to EnsureCoreWebView2Async and before setting the Source property
// since these will both cause initialization of the CoreWebView2 property
// but using a default CoreWebView2Environment rather than your custom one.
await webview2.EnsureCoreWebView2Async(environment);
当然请注意,如果不将 WebView2 中呈现的内容限制为您信任的内容,则不应使用禁用网络安全。禁用网络安全并在 WebView2 中呈现未知内容是危险的。
Windows 形式的代码:
public Form1()
{
InitializeComponent();
_ = InitializeAsync();
}
private async Task InitializeAsync()
{
CoreWebView2EnvironmentOptions options = new CoreWebView2EnvironmentOptions("--allow-insecure-localhost");//--disable-web-security
CoreWebView2Environment environment = await CoreWebView2Environment.CreateAsync(null, null, options);
await webView21.EnsureCoreWebView2Async(environment);
webView21.CoreWebView2.Navigate("https://yourlink.jnlp");
}