.net - 来自 window.open() 锚点的 WebView2 NewWindowRequested 缺少 windowName
问题描述
我已经使用 WebView2 几天了,我遇到了一个问题,我需要为特定 URL 打开一个新窗口。
首选方法是使用锚目标或window.open()
函数在 HTML 中使用触发器,但我没有找到在 NewWindowRequested 事件中获取实际窗口名称的方法。
此事件确实有一组 WindowFeatures,它们代表window.open()
JavaScript 函数中的 WindowFeatures,但不包含窗口名称。
有人对我有什么建议吗?
解决方案
在 WebView2 应用窗口名称的逻辑之后,将引发 NewWindowRequested 事件。也就是说,如果窗口名称用于现有窗口,则将导航该现有窗口,而不是引发 NewWindowRequested 事件。因此,在大多数情况下,您不需要窗口名称。
如果您出于其他原因需要窗口名称,例如从 Web 内容向 NewWindowRequested 事件处理程序提供额外信息的侧通道,我们目前正在将 Name 属性添加到 NewWindowRequested 事件参数,您可能会将其视为实验性 API在未来的预发布 WebView2 nuget 包中。(规格)