WebView2 - NavigateToString 方法 returns "Operation Cancelled" 错误
WebView2 - NavigateToString method returns "Operation Cancelled" error
NavigateToString
方法 returns 作为参数提供的任何 html 字符串的错误。
NavigationCompleted
returnsOperation Canceled
的事件处理程序。很可能初始化不正确或不完整,但确定是什么。
能否请您提供一个有效的 C# 示例,以便我学习如何使用 webview2?
async void InitializeAsync()
{
var env = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(userDataFolder: cacheDirectory);
await webView21.EnsureCoreWebView2Async(env);
webView21.Dock = System.Windows.Forms.DockStyle.Right; //Fill
webView21.NavigationStarting += EnsureHttps;
webView21.NavigationCompleted += WebView21_NavigationCompleted;
}
...
...
webView21.CoreWebView2.NavigateToString("<html>HELLO!</html>"); //Fails
webView21.CoreWebView2.Navigate("https://www.google.com"); //Works
既然你可以调用 Navigate("https://www.google.com")
但不能调用 NavigateToString("<html>HELLO!</html>")
问题一定出在差异上。
这很可能是由您的 EnsureHttps
方法引起的。
当您使用 NavigateToString
时,它不是 https
!新页面的url为about:blank
!
所以如果 url 是 about:blank
.
,那么您应该在 EnsureHttps
方法中检查而不是 redirect/change url
NavigateToString
方法 returns 作为参数提供的任何 html 字符串的错误。
NavigationCompleted
returnsOperation Canceled
的事件处理程序。很可能初始化不正确或不完整,但确定是什么。
能否请您提供一个有效的 C# 示例,以便我学习如何使用 webview2?
async void InitializeAsync()
{
var env = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(userDataFolder: cacheDirectory);
await webView21.EnsureCoreWebView2Async(env);
webView21.Dock = System.Windows.Forms.DockStyle.Right; //Fill
webView21.NavigationStarting += EnsureHttps;
webView21.NavigationCompleted += WebView21_NavigationCompleted;
}
...
...
webView21.CoreWebView2.NavigateToString("<html>HELLO!</html>"); //Fails
webView21.CoreWebView2.Navigate("https://www.google.com"); //Works
既然你可以调用 Navigate("https://www.google.com")
但不能调用 NavigateToString("<html>HELLO!</html>")
问题一定出在差异上。
这很可能是由您的 EnsureHttps
方法引起的。
当您使用 NavigateToString
时,它不是 https
!新页面的url为about:blank
!
所以如果 url 是 about:blank
.
EnsureHttps
方法中检查而不是 redirect/change url