首页 > 解决方案 > 来自 window.open() 锚点的 WebView2 NewWindowRequested 缺少 windowName

问题描述

我已经使用 WebView2 几天了,我遇到了一个问题,我需要为特定 URL 打开一个新窗口。

首选方法是使用锚目标或window.open()函数在 HTML 中使用触发器,但我没有找到在 NewWindowRequested 事件中获取实际窗口名称的方法。

此事件确实有一组 WindowFeatures,它们代表window.open()JavaScript 函数中的 WindowFeatures,但不包含窗口名称。

有人对我有什么建议吗?

标签: .netwinformswebview2

解决方案


在 WebView2 应用窗口名称的逻辑之后,将引发 NewWindowRequested 事件。也就是说,如果窗口名称用于现有窗口,则将导航该现有窗口,而不是引发 NewWindowRequested 事件。因此,在大多数情况下,您不需要窗口名称。

如果您出于其他原因需要窗口名称,例如从 Web 内容向 NewWindowRequested 事件处理程序提供额外信息的侧通道,我们目前正在将 Name 属性添加到 NewWindowRequested 事件参数,您可能会将其视为实验性 API在未来的预发布​​ WebView2 nuget 包中。(规格


推荐阅读