问题标签 [webview2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
804 浏览

delphi - Microsoft.WebView2 & Edge

我正在尝试使用来自 microsoft.web.webview2.0.9.579.nupkg 的 Microsoft.WebView2 (来自 Delphi 10.4 版本 27.0.38860.1461 的 TEdgeBrowser 示例)

此版本仅适用于 Edge 的金丝雀或 beta版本。随着 Edge 的发布,我收到一条错误消息找不到 Edge 安装。您是否安装了与此 WebView2 SDK 版本兼容的版本?

文档仅介绍了 Edge 的金丝雀版本。

哪个版本的 Microsoft.WebView2 将与 Edge 版本一起使用?

0 投票
1 回答
787 浏览

javascript - 使用新的 WebView2 控件并通过 window.external 调用访问旧服务器......有什么方法可以捕获这些?

我正在开发以前使用 WebBrowser 控件并通过使用 window.external 调用(例如 window.external.myMethod())与 cshtml 网页来回通信的 Office 插件。

我们已切换到使用上个月在 GA 发布的新 WebView2 控件,并更新了我们当前的 cshtml 页面以使用该控件的正确调用(例如 chrome.webview.hostObjects.myObject.myMethod())。

我请求帮助的问题是,我的插件还可以连接到仍在运行这些 cshtml 页面的旧服务器,这些页面包含旧的 window.external 调用。我试图找出一种仍然来回传递值的方法。

我知道每次使用 WebView2 控件加载页面时都可以注入一些 javascript,例如:

...我们实际上这样做是为了挂钩几个事件。我们也可以运行 WebView2 的 ExecuteScriptAsync。

我不确定这两种方法是否可行,或者是否有更好的方法我没有想到。如果我要注入一些 Javascript 来运行,它甚至会是什么样子!

希望大家给点建议。。。

0 投票
1 回答
142 浏览

c# - 将最新的 chrome 引擎与您的 UWP 构建打包在一起,以避免 PWA 的 Web 视图中的旧 Internet Explorer 问题

将最新的 chrome 引擎与您的UWP(通用 Windows 平台)构建打包,以避免Web-View中的旧 Internet Explorer 问题。

先说明一下情况:

我有一个用 C# 编写的旧版 UWP,它在 web 视图中打开一个 web 应用程序。此 Web 视图在旧版边缘版本中运行 - Microsoft Edge Legacy 以及一些在 IE11 中。

我的网络应用程序随着时间的推移而发展,我们开始使用最新的网络功能,例如PWA、推送通知、离线支持、最新的 CSS 和 JS 功能

现在的问题是我们想要发布新版本的 UWP,它应该利用所有最新的 Web 进步和在我们的 Web 应用程序上完成的更改,但我们无法控制客户端系统,我们无法更新客户端设备上的浏览器。

所以问题是,我如何才能将轻量级 Chromium 引擎与我们的新 UWP 版本一起发布/包含,以便它使用已发布的 chromium 浏览器引擎而不是旧版边缘浏览器和用作 WebView 运行时浏览器的 chromimum 浏览器引擎?

此外,仅当客户端使用 IE11 或 Legacy Edge 浏览器时,我才应该使用随附的chromium 浏览器运行时版本。

是否可能或欢迎任何其他替代方案或建议?

0 投票
1 回答
956 浏览

.net - 安装项目中的 WebView2 运行时

如何在安装项目中包含 WebView2 运行时?VisualStudio 2017,C# 应用程序。

https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution

0 投票
4 回答
4477 浏览

.net - 如何从 WebView2 中的 ExecuteScriptAsync 获取同步返回

.NET,WinForms。

调用是从 UI 线程(按钮 - 单击)触发的。来自 ExecuteScriptAsync 的返回应该继续同步处理,即它们应该再次与调用上下文同步。我在这里失败了。

我试过例如:

这也不起作用(见错误):

我正在竞标代码示例。

0 投票
1 回答
3117 浏览

c# - 如何检测 webview2 中的鼠标点击(c#/vb.net)

我尝试获取 html 元素的事件点击。使用我使用的 WebBrowser:

但是对于 Webview2,我没有找到好的做法。我必须注入一个javascript代码吗?但是,我如何在 C# 或 Vb.net 应用程序中获取处理程序?

非常感谢。

这里有一个示例代码。我的函数中没有返回:WebView1_WebMessageReceived。为什么 ?我想,我忘记了什么……

脚本Java:

编辑:我发现我的错误......真的不多!

我忘记了 webview 属性中 WebMessageReceived 的声明。

Webview 属性

0 投票
1 回答
664 浏览

c# - 使用 CoreWebView2NewWindowRequestedEventArgs 在子窗口中打开 URL

在我的 WPF WebView2 控件中,我想window.open("https://www.google.com")从主窗口执行以使用CoreWebView2_NewWindowRequested. 但是 URL 网页没有显示在子窗口实例中。

我不太确定下面的代码有什么问题:

MainWindow.xaml.cs

HTML 页面中的 JavaScript

0 投票
2 回答
3011 浏览

c# - 如何使用 webview2 发布数据

我需要一个登录请求。我在 WPF 中使用 webview2 包并使用它。

我的代码是这样的:

我想要做的是先登录用户然后向他展示视图。

0 投票
1 回答
1376 浏览

c# - 如何在 WebView2 中获取服务器响应代码

我正在尝试使用 WebView2 并获取服务器响应代码。但是 CoreWebView2WebResourceRequestedEventArgs.Response 由于某种原因始终为空:

如何获取响应码?

0 投票
0 回答
718 浏览

javascript - 抑制 WebView2 中的脚本错误

提前致谢。

在我基于 WPF 的 webview2 控件中,我想抑制弹出的任何 javascript 错误。

WebView2 中是否有任何与 WebBrowser 中的 ScriptErrorsSuppressed 标志类似的等价物可以让我抑制 javascript 错误?