WebView2 SDK 发行说明
这些发行说明提供有关 WebView2 发布 SDK 和 WebView2 预发布 SDK 中包含的新功能和 bug 修复的信息。
1.0.2957.106
发布日期:2025 年 1 月 20 日
用于 WebView2 SDK 1.0.2957.106 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 132.0.2957.106 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
在 WebView2 层的顶部显示 WPF 元素 (WebView2CompositionControl)
可防止 WebView2CompositionControl
WebView2 控件成为 WPF 应用中的最顶层,并遮盖任何 WPF 元素。
Microsoft.Web.WebView2.Wpf.WebView2CompositionControl
是标准 WPF WebView2 控件的放置替换。 WebView2 控件和 WebView2CompositionControl
实现 Microsoft.Web.WebView2.Wpf.IWebView2
接口。 它们都派生自 FrameworkElement
,如下所示:
-
FrameworkElement
->HwndHost
->WebView2
. -
FrameworkElement
->Control
->WebView2CompositionControl
.
背景:如果要) 应用生成Windows Presentation Foundation (WPF 并使用 WebView2 控件,你可能会发现应用遇到“空域”问题,其中 WebView2 控件始终显示在顶部,将任何 WPF 元素隐藏在同一位置,即使尝试使用可视化树顺序或 z-index 属性将 WPF 元素指定为 WebView2 控件上方 (, 例如) 。
出现此问题的原因是 WPF 控件使用 WPF HwndHost
托管 Win32 WebView2 控件,并且 HwndHost
存在空域问题;请参阅 缓解 WPF 应用程序中的空域问题。
另请参阅:
Bug 修复
仅限运行时
- 修复了显示更改可能导致 WebView2 呈现小于应用窗口的回归。
仅 SDK
- 修复了 WPF
WebView2CompositionControl
中的问题:如果初始化时的大小 (0,0) ,例如在 的 中TabItem
TabControl
初始化时,它不会显示。 (问题 #4941)
1.0.3079-prerelease
发布日期:2025 年 1 月 24 日
用于 WebView2 SDK 1.0.3079-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 134.0.3079.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中添加了以下实验性 API。
(查找 API) 自定义查找行为
Find API 允许以编程方式控制 Find 操作,并允许将以下功能添加到应用:
- 自定义“查找”选项,包括“查找术语”、“区分大小写”、“Word匹配”、“匹配突出显示”和“默认 UI 抑制”。
- 查找文本字符串并在 WebView2 控件中导航。
- 以编程方式启动 “查找 ”操作,并在 “查找结果”中 导航。
- 取消默认的 “查找 UI”。
- 跟踪 “查找 ”操作的状态。
查找 PDF 文档的 API 存在已知问题。 在 WebView2 控件中查看 PDF 文档时, “查找” 功能当前仅提供第一个索引和找到的匹配项数。 例如,如果字符串在 PDF 中出现三次,则 UI 将显示 1/3 ,并且不支持以编程方式调用 Next 或 Previous。 我们正在积极调查这些问题,我们鼓励你使用 WebView2Feedback 存储库报告遇到的任何问题。
自定义拖放行为 (DragStarting API)
在可视化托管模式下运行时,API DragStarting
会替代默认的拖放行为。 当用户在 WebView2 中启动拖动操作时,事件 DragStarting
会通知应用,并提供使用自己的逻辑替代默认 WebView2 拖动操作所需的状态。
- 在 上
ICoreWebView2ExperimentalCompositionController6
使用DragStarting
添加在拖动操作启动时调用的事件处理程序。 - 使用
ICoreWebView2ExperimentalDragStartingEventArgs
启动自己的拖动操作。-
GetDeferral
使用 方法可执行任何异步拖动逻辑,并在以后重新调用 WebView。 -
Handled
使用 属性让 WebView2 知道是否使用自己的拖动逻辑。
-
跟踪嵌套 iframe 的导航历史记录 (FrameCreatedEvent API)
FrameCreatedEvent API 支持嵌套 iframe,例如记录二级 iframe 的导航历史记录。 如果没有此 API,WebView2 仅跟踪第一级 iframe,它们是main帧的直接子 iframe。 使用此 API,应用可以订阅嵌套 iframe 创建事件,使应用能够访问嵌套 iframe 的所有属性、方法和事件 CoreWebView2Frame
。
使用此 API 在包含多个级别的 iframe 的页面上管理 iframe 跟踪。 可以选择跟踪以下任一项:
- 只有main页和一级 iframe (默认行为) 。
- 部分 WebView2 框架树,其中包含感兴趣的特定 iframe。
- 完整的 WebView2 框架树。
-
CoreWebView2Frame
类:
在 WebView2 初始化 (DefaultBackgroundColor API) 上设置默认背景色
DefaultBackgroundColor API 允许用户在初始化时设置 DefaultBackgroundColor
属性。 这可以防止在 WebView2 加载过程中出现中断性白闪烁。
-
CoreWebView2ControllerOptions
类:
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
在 WebView2 层的顶部显示 WPF 元素 (WebView2CompositionControl)
可防止 WebView2CompositionControl
WebView2 控件成为 WPF 应用中的最顶层,并遮盖任何 WPF 元素。
Microsoft.Web.WebView2.Wpf.WebView2CompositionControl
是标准 WPF WebView2 控件的放置替换。 WebView2 控件和 WebView2CompositionControl
实现 Microsoft.Web.WebView2.Wpf.IWebView2
接口。 它们都派生自 FrameworkElement
,如下所示:
-
FrameworkElement
->HwndHost
->WebView2
. -
FrameworkElement
->Control
->WebView2CompositionControl
.
背景:如果要) 应用生成Windows Presentation Foundation (WPF 并使用 WebView2 控件,你可能会发现应用遇到“空域”问题,其中 WebView2 控件始终显示在顶部,将任何 WPF 元素隐藏在同一位置,即使尝试使用可视化树顺序或 z-index 属性将 WPF 元素指定为 WebView2 控件上方 (, 例如) 。
出现此问题的原因是 WPF 控件使用 WPF HwndHost
托管 Win32 WebView2 控件,并且 HwndHost
存在空域问题;请参阅 缓解 WPF 应用程序中的空域问题。
另请参阅:
Bug 修复
仅限运行时
- 修复了显示更改可能导致 WebView2 呈现小于应用窗口的回归。
- 已启用
IsolateSandboxedIframes
WebView2 的上游功能。 - 在版本更改时阻止删除服务辅助角色。
- 中的
CleanUpSome
APIHostobject
现在仅对完整堆执行垃圾回收。CleanUpSome
已从 V8 引擎中删除。 - 修复了 的
AreBrowserAcceleratorKeysEnabled
回归。 (问题 #5033) - 修复了使用键盘关闭对话框时未触发的 bug
IsDefaultDownloadDialogOpenChanged
。 (问题 #4807)
仅 SDK
- 修复了 WPF
WebView2CompositionControl
中的问题:如果初始化时的大小 (0,0) ,例如在 的 中TabItem
TabControl
初始化时,它不会显示。 (问题 #4941)
1.0.2903.40
发布日期:2024 年 11 月 18 日
用于 WebView2 SDK 1.0.2903.40 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 131.0.2903.40 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
控制是否在 ScreenCaptureStarting 事件 (显示屏幕捕获 UI)
添加了一个新 ScreenCaptureStarting
事件。 每当与 (或其任何后代 iframe 相对应的 CoreWebView2Frame
WebView2 和/或 iframe) 请求在显示 UI 之前使用屏幕捕获 API 的权限时,都会引发此事件。 然后,应用可以阻止显示 UI,或允许显示 UI。
CoreWebView2
类:CoreWebView2Frame
类:CoreWebView2NonClientRegionKind
枚举:
Bug 修复
仅限运行时
- 允许 “下载 ”对话框在启动时接收初始焦点。
常规更改
- Microsoft Edge WebView2 运行时不再在 Windows 设置>应用>已安装应用中列出,因为它是一个持久性系统组件。
1.0.2950-prerelease
发布日期:2024 年 11 月 18 日
用于 WebView2 SDK 1.0.2950-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要Microsoft Edge 版本 132.0.2950.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中未添加任何实验性 API。
促销
在此预发行版 SDK 中,尚未将任何 API 从实验版提升为稳定版。
Bug 修复
仅限运行时
- 允许 “下载 ”对话框在启动时接收初始焦点。
- 修复了在 中
FrameNavigationStarting
取消导航到某些站点时崩溃。 (问题 #4843) - 推迟了在显示触摸选择菜单时自定义上下文菜单。 (问题 #4737)
仅 SDK
- 添加了 Arm64ec 支持。
- 修复了在“窗口到视觉对象”模式下运行的 WebView2 无法接收加速器输入的问题。
1.0.2849.39
发布日期:2024 年 10 月 21 日
用于 WebView2 SDK 1.0.2849.39 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 130.0.2849.39 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
在保存文件 (SaveFileSecurityCheckStarting
事件) 时配置安全警告
添加了一个新 SaveFileSecurityCheckStarting
事件。 应用可以在此事件上注册处理程序,以获取文件路径、文件扩展名和文档源 URI 信息。 然后,可以应用自己的规则来执行如下操作:
- 允许保存文件,而不显示有关文件类型策略的默认安全警告 UI。
- 取消保存。
- 创建自己的 UI 来管理运行时文件类型策略。
CoreWebView2
类:CoreWebView2SaveFileSecurityCheckStartingEventArgs 类
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral 方法
Bug 修复
仅限运行时
- 修复了按 Tab 或 Shift+Tab 切换到 Webview2 控件时的下载对话框焦点问题。
仅 SDK
-
CoreWebView2.AddWebResourceRequestedFilter
现在已弃用不使用CoreWebView2WebResourceRequestSourceKinds
参数。 请参阅 .NET CoreWebView2.AddWebResourceRequestedFilter 方法。 - 添加了用于 C# WinRT 的 .NET 8
TargetFramework
,启用了 AOT (提前) 兼容性,并禁用了运行时封送。
1.0.2895-prerelease
发布日期:2024 年 10 月 21 日
用于 WebView2 SDK 1.0.2895-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要Microsoft Edge 版本 131.0.2895.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中添加了以下实验性 API。
RestartRequested
当 WebView2 需要重启时的事件
添加了一个新 RestartRequested
事件。
RestartRequested
每当 WebView2 需要重启以应用更新或配置更改时,将引发该事件。 可以使用此 API 来检测 WebView2 何时需要重启,并采取适当的操作。
Priority
事件参数的 RestartRequested
属性指示重启请求的优先级:
-
High
指示应用应提示用户尽快重启。 -
Normal
指示应用应提醒用户尽最大努力重启。
CoreWebView2Environment
类:CoreWebView2RestartRequestedEventArgs
类:CoreWebView2RestartRequestedPriority 枚举
CoreWebView2RestartRequestedPriority.Normal
CoreWebView2RestartRequestedPriority.High
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
控制是否 (事件) ScreenCaptureStarting
显示屏幕捕获 UI
添加了一个新 ScreenCaptureStarting
事件。 每当与 (或其任何后代 iframe 相对应的 CoreWebView2Frame
WebView2 和/或 iframe) 请求在显示 UI 之前使用屏幕捕获 API 的权限时,都会引发此事件。 然后,应用可以阻止显示 UI,或允许显示 UI。
CoreWebView2
类:CoreWebView2Frame
类:CoreWebView2ScreenCaptureStartingEventArgs
类:
在保存文件 (SaveFileSecurityCheckStarting
事件) 时配置安全警告
添加了一个新 SaveFileSecurityCheckStarting
事件。 应用可以在此事件上注册处理程序,以获取文件路径、文件扩展名和文档源 URI 信息。 然后,可以应用自己的规则来执行如下操作:
- 允许保存文件,而不显示有关文件类型策略的默认安全警告 UI。
- 取消保存。
- 创建自己的 UI 来管理运行时文件类型策略。
CoreWebView2
类:CoreWebView2SaveFileSecurityCheckStartingEventArgs 类
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.CancelSave 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.DocumentOriginUri 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FileExtension 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.FilePath 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.SuppressDefaultPolicy 属性
- CoreWebView2SaveFileSecurityCheckStartingEventArgs.GetDeferral 方法
Bug 修复
仅 SDK
- 修复了 Arm64 与 WindowsAppSDK 1.6 不兼容的问题。
- 在 WinAppSDK 案例中删除了额外的
WebView2Loader.dll
内容。 -
CoreWebView2.AddWebResourceRequestedFilter
现在已弃用不使用CoreWebView2WebResourceRequestSourceKinds
参数。 请参阅 .NET CoreWebView2.AddWebResourceRequestedFilter 方法。
1.0.2792.45
发布日期:2024 年 9 月 23 日
用于 WebView2 SDK 1.0.2792.45 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 129.0.2792.45 或更高版本。
促销
此发布 SDK 中没有其他 API 已提升到稳定版并已添加。
Bug 修复
仅 SDK
- 修复了 .NET 项目的 SDK 依赖项。 (问题 #4743)
1.0.2839-prerelease
发布日期:2024 年 9 月 23 日
用于 WebView2 SDK 1.0.2839-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要Microsoft Edge 版本 130.0.2839.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中未添加任何实验性 API。
促销
在此预发行版 SDK 中,尚未将任何 API 从实验版提升为稳定版。
Bug 修复
仅限运行时
- 修复了以下问题:在禁用 Windows“滚动非活动窗口”设置的情况下,将焦点集中在 WinAppSDK 中的 WebView2 控件上导致滚动失败。
- 在 WebView2 中阻止
edge://wallet
。 (问题 #4710) - 在控制器完成创建后,清除 .NET WebView2 控件中默认背景色的环境变量。
- 在可视托管模式下启用了对 Webview2 的辅助功能支持。
- 修复了一个 bug,其中一个源为 Document 时删除多个源的“请求的 Web 资源”筛选器。
- 修复了在 WinUI 或其他可视托管的 WebView2 实例中不可见的回归
DataList
。
仅 SDK
- 修复了 .NET 项目的 SDK 依赖项。 (问题 #4743)
- 修复了使用较旧的
WebView2Loader.dll
调用GetAvailableBrowserVersionString()
时的兼容性问题。 (问题 #4395) - 修复了使用
cpp20
和/permissive-
选项编译 wv2winrt 生成的代码时出现的问题。 - 添加了用于 C# WinRT 的 .NET 8
TargetFramework
,启用了 AOT (提前) 兼容性,并禁用了运行时封送。
1.0.2739.15
发布日期:2024 年 8 月 26 日
用于 WebView2 SDK 1.0.2739.15 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 128.0.2739.15 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
Web 通知处理
添加了对非持久性通知的 Web 通知的支持。 用于NotificationReceived
CoreWebView2
控制 Web 通知处理的事件,允许主机应用进行自定义或抑制。 未处理的通知默认为 WebView2 的 UI。
CoreWebView2
类:-
- CoreWebView2Notification.BadgeUri 属性
- CoreWebView2Notification.Body 属性
- CoreWebView2Notification.BodyImageUri 属性
- CoreWebView2Notification.Direction 属性
- CoreWebView2Notification.IconUri 属性
- CoreWebView2Notification.IsSilent 属性
- CoreWebView2Notification.Language 属性
- CoreWebView2Notification.RequiresInteraction 属性
- CoreWebView2Notification.ShouldRenotify 属性
- CoreWebView2Notification.Tag 属性
- CoreWebView2Notification.Timestamp 属性
- CoreWebView2Notification.Title 属性
- CoreWebView2Notification.VibrationPattern 属性
- CoreWebView2Notification.ReportClicked 方法
- CoreWebView2Notification.ReportClosed 方法
- CoreWebView2Notification.ReportShown 方法
- CoreWebView2Notification.CloseRequested 事件
CoreWebView2TextDirectionKind 枚举
Default
LeftToRight
RightToLeft
“另存为”
添加了 SaveAs
允许以编程方式执行 “另存为” 操作的 API。 可以使用这些 API 来阻止默认的“ 另存为 ”对话框,然后以无提示方式保存,或生成自己的 UI 以用于 “另存为”。 这些 API 仅适用于 “另存为 ”对话框,而不适用于“ 下载 ”对话框,后者继续使用现有下载 API。
CoreWebView2
类:-
Complete
Default
HtmlOnly
SingleFile
-
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
CoreWebView2SaveAsUIShowingEventArgs 类
- CoreWebView2SaveAsUIShowingEventArgs.AllowReplace 属性
- CoreWebView2SaveAsUIShowingEventArgs.Cancel 属性
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType 属性
- CoreWebView2SaveAsUIShowingEventArgs.Kind 属性
- CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath 属性
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog 属性
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral 方法
Bug 修复
此发布 SDK 中没有 bug 修复。
1.0.2783-prerelease
发布日期:2024 年 8 月 26 日
用于 WebView2 SDK 1.0.2783-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要Microsoft Edge 版本 129.0.2783.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中未添加任何实验性 API。
促销
在此预发行版 SDK 中,尚未将任何 API 从实验版提升为稳定版。
Bug 修复
运行时和 SDK
- 重新启用 的默认行为
SetUserAgent
: 默认情况下,SetUserAgent
对跨源 iframe 有效。
仅限运行时
默认启用交互式拖动功能。 请参阅
edge-webview-interactive-dragging
WebView2 浏览器标志。IsolateSandboxedIframes
为 WebView2 禁用。修复了同时启动多个实例时 WebView 创建失败的问题。 (问题 #4731)
修复了 WinRT JavaScript 投影中的 bug,其中缓存其名称包含
Proxy
或Function
由于名称冲突导致错误的对象中的现有属性。修复了以下 bug:WebView2 控件在断开连接并重新连接监视器后大小不正确。
修复了“mailto:”链接使无标题弹出窗口保持打开状态,而不是自动关闭弹出窗口的问题。
仅 SDK
C# WinRT 投影现在适用于 UWP。
修复了确保
GeneratedFilesDir
不再出现在 Visual Studio for C# WinRT 投影中的问题。
另请参阅
- 关于 WebView2 SDK 的发行说明
- WebView2 SDK 的存档发行说明
- WebView2 API 概述 - 按功能区域概述了发布 SDK 包中的许多 API。
- 联系 Microsoft Edge WebView2 团队