WebView2 - 如何获得与 WebBrowser.Document.OpenNew(true) 相同的功能
WebView2 - How can I get the same functionality as WebBrowser.Document.OpenNew(true)
在 System Forms Webbrowser 中,以下是每次使用新 HTML 内容更新 webbrowser 时打开新 HTML 文档的代码
webBrowser1.Navigate("about:blank");
webBrowser1.Document.OpenNew(true).Write(html);
在 Microsoft.Web.WebView2.WinForms.WebView2 中,我可以像下面那样使用导航到字符串来更新 HTML 字符串。
webBrowser.NavigateToString(html);
但这不会打开新文档。它更新相同。
每次更改内容时,WebView2 中是否有一种方法可以在新文档上设置 HTML 内容?
有一个 javascript document.open(type, replace)
可以帮助您实现与旧 WebBrowser 控件的 Document.OpenNew(replaceInHistory).
相同的功能
要与WebView2一起使用,需要调用ExecuteScriptAsync,例如:
await webView21.EnsureCoreWebView2Async();
await webView21.ExecuteScriptAsync(
"document.open('text/html', true);" +
"document.write('<html><body>XXXXXXXXXX</body></html>');");
它将打开一个新文档并替换历史记录。
在 System Forms Webbrowser 中,以下是每次使用新 HTML 内容更新 webbrowser 时打开新 HTML 文档的代码
webBrowser1.Navigate("about:blank");
webBrowser1.Document.OpenNew(true).Write(html);
在 Microsoft.Web.WebView2.WinForms.WebView2 中,我可以像下面那样使用导航到字符串来更新 HTML 字符串。
webBrowser.NavigateToString(html);
但这不会打开新文档。它更新相同。 每次更改内容时,WebView2 中是否有一种方法可以在新文档上设置 HTML 内容?
有一个 javascript document.open(type, replace)
可以帮助您实现与旧 WebBrowser 控件的 Document.OpenNew(replaceInHistory).
要与WebView2一起使用,需要调用ExecuteScriptAsync,例如:
await webView21.EnsureCoreWebView2Async();
await webView21.ExecuteScriptAsync(
"document.open('text/html', true);" +
"document.write('<html><body>XXXXXXXXXX</body></html>');");
它将打开一个新文档并替换历史记录。