问题标签 [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 投票
2 回答
2956 浏览

webview2 - WebView2 (2020/06) -> DOM 在哪里?

我将一种可工作的 Excel VBA 应用程序移动到了 C#/Windows Forms/WebView2项目。

目前,似乎基础知识还不存在。

例如...

也许我弄错了,但看起来 webview2 只是一个浏览器,没有 VBA 二十多年来所拥有的自动化工具。请告诉我,我不必爬回我的中世纪 Excel VBA 地牢。我看到了光,很好!

任何架构或实际测试的工作代码将不胜感激:)

谢谢你来自温哥华,

安托万

0 投票
1 回答
3443 浏览

vb.net - 是否可以在 VB.NET 应用程序中使用 Microsoft Edge WebView2 控件?

是否可以使用 Visual Studio 在 VB.NET 应用程序中使用 Microsoft Edge WebView2 控件?谢谢您的回复

0 投票
2 回答
3960 浏览

c# - 在 WebResourceRequested 事件中为 WebView2 设置 cookie

我正在使用新的 WebView2 控件(在开发人员预览版中)来替换 Windows.Forms 应用程序中的 WebBrowser 控件。

切换到 WebView2 控件的主要原因是它基于与 WebRTC 一起使用的 Chromium,而 WebBrowser 控件由不支持 WebRTC 的 Internet Explorer 提供支持。

所以我遇到的问题是找到一种方法来为我希望 WebView2 导航到的 url 设置一个 cookie。过去在使用WebBrowser 时,可以通过在webBrowser.Navigate 之前调用InternetSetCookie 来设置cookie,但InternetSetCookie 仅适用于Internet Explorer。

需要在第三方网站上为身份验证设置 cookie,即向网站证明我的应用程序已经登录(由我的应用程序的其他未使用 WebView2 的部分早些时候完成)。该应用程序在登录响应中成功捕获了身份验证 cookie,但在使用 WebView2 控件导航时,我只是找不到如何将 cookie 传递回网站。WebView2 控件用于导航到同一网站上使用 WebRTC 的另一个页面。

https://github.com/MicrosoftEdge/WebViewFeedback/issues/4解释说目前还没有提供用于在 WebView2 中设置 cookie 的快速机制,但建议处理 WebResourceRequested 事件,然后通过从内部修改 request.Header 来设置 cookie WebResourceRequested 事件处理程序。

那么谁能解释一下如何真正让 WebResourceRequested 事件为 WebView2 触发?我试过这个没有成功:

WebResourceRequested 事件永远不会触发。我尝试通过调用 WebView2.Navigate、WebView2.CoreWebView2.Navigate 和 WebView2.Source 来触发它,但它们都不会触发 WebResourceRequested 事件。

我从 WebView_CoreWebView2Ready 事件中连接 WebResourceRequested 的事件处理程序的原因是,如果您尝试更早地连接它(例如在表单加载中),那么 CoreWebView2 将为空,因为它需要更多时间。我已经成功连接了 WebView_CoreWebView2Ready 中的其他事件并且它们确实触发了(例如 NavigationStarting 事件)。

谢谢。

0 投票
1 回答
1802 浏览

javascript - 等效于 WebView2 控件中的 WebBrowser.ObjectForScripting 和 WebBrowser.Document

提前致谢。

在我的应用程序中,我将 WebBrowser 控件替换为 Microsoft 的WebView2

我想知道 WebView2 中 WebBrowser 控件的以下成员的等价物。

  1. WebBrowser.ObjectForScripting
  2. WebBrowser.Document

有人有答案吗?再次感谢。

0 投票
2 回答
9237 浏览

vb.net - VB.Net Webview2 如何获取 html 源代码?

我在我的 VB.net (Visual Studio 2017) 项目中成功地在 WebView2 上显示了一个网站,但无法获取 html 源代码。请告诉我如何获取html代码。

我的代码:

确实感谢您提前提出建议。

0 投票
0 回答
336 浏览

vba - 我如何在 VBA 中调用 WebView2 和其他现代 winmd 功能

我想在旧式 VBA 用户窗体中嵌入一个现代 WebView2 组件(Edge Chromium 浏览器控件)。

我推测我需要在系统上安装以下内容:

  • 边缘铬浏览器
  • Webview2 SDK

虽然我安装了 Edge Chromium 浏览器,但我不确定如何在特定 Visual Studio 项目的上下文之外安装 Webview2 SDK。要在 VBA 解决方案中使用它,它需要引用某种全局系统范围的文件吗?

然后,显然包含我们需要嵌入 Edge 浏览器的功能的类型库是Windows.Web.winmd. 我想我需要以某种方式“引用”它,但我不确定如何......

0 投票
2 回答
6245 浏览

c# - 为 WebView2 设置缓存目录

我在 WPF 控件中使用 WebView2 来托管新的边缘。

在我的代码中,我想将 cookie 和浏览器特定数据缓存到缓存目录。创建 CoreWebView2Environment 时,应在 CoreWebView2EnvironmentOptions 中设置缓存位置。

我们有什么办法可以做到这一点?提前致谢。

0 投票
2 回答
578 浏览

c++ - 应用程序找不到 Chromium-edge 浏览器

我按照以下 URL 指南创建了一个示例应用程序以在 microsoft edge 上打开网页。

https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/win32

我按照说明使用 NuGet 数据包管理器安装了软件包。在开发机器上一切正常。

然后我将示例应用程序的 exe 和库“WebView2Loader.dll”复制到测试机中,测试机具有 Microsoft Edge 版本 83.0.478.50(官方构建)(64 位)。我收到“ERROR_FILE_NOT_FOUND”错误,意思是“要么找不到边缘安装,要么版本与 SDK 版本不兼容”。此错误是调用 CreateCoreWebView2Environment(),它应该找到浏览器。

我试图找出为什么它的版本高于最低要求版本时它不起作用。根据文档,edge 的最低要求版本是 82 我有 83.0.478.50。

让我知道我在测试环境中缺少什么?我应该设置任何环境变量吗?如果需要任何环境变量,我尝试在线查找,找不到任何环境变量。

编辑:

当前版本 Microsoft.web.webview2 SDK 为 0.9.488。测试盒的边缘版本为 83.0.478.50。我了解我需要在测试机上更新我的边缘版本。

0 投票
1 回答
975 浏览

.net-core - 绕过 WebView2 中显示的 Kestrel 服务器的无效 SSL 证书

给定

  • WPF 应用程序启动 Kestrel 服务器
  • 红隼倾听http://0.0.0.0:5000https://0.0.0.0:6000
  • Kestrel 指向静态 HTML 文件index.html
  • WPF 显示指向的浏览器控件 WebView2https://127.0.0.1:6000/index.html

结果

  • 如果 WebView2 指向http://127.0.0.1:5000/index.html一切正常
  • 如果指向 WebView2,https://127.0.0.1:6000/index.html我会收到有关不受信任证书的错误

问题

  • 是否可以在 Kestrel 或 WebView2 中禁用或忽略 localhost 的 SSL 验证

不应触及 Windows 设置,例如在“msmc”中将“localhost”证书标记为受信任或生成自签名证书,因为该 WPF 应用程序应该在不同的计算机上运行。

换句话说,一定有比本文描述的更简单的方法。

红隼

WPF 中的 WebView2 控件

0 投票
1 回答
245 浏览

c++ - WebView2 旧版本的示例应用程序

我正在开发 Edge 的官方发布版本 - 83.0.478.50(假设这是最新的官方版本)及其兼容的 Webview2 SDK 版本 V0.9.430。

我找不到示例应用程序或入门应用程序。官方页面指向最新的SDK API。https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/win32

我尝试从https://github.com/MicrosoftEdge/WebView2Samples/tree/master/WebView2APISample和 microsoft 文档页面构建入门应用程序。但无法构建应用程序。

有没有人有 V0.9.430 webview2 SDK 的示例/入门应用程序?