WebView2 SDK 发行说明
这些发行说明提供有关 WebView2 发布 SDK 和 WebView2 预发布 SDK 中包含的新功能和 bug 修复的信息。
1.0.2478.35
发布日期:2024 年 4 月 22 日
WebView2 SDK 1.0.2478.35 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 124.0.2478.35 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
- 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 可以指定
ReleaseChannels
以选择在创建环境期间搜索的通道,以及ChannelSearchKind
选择搜索顺序。
CoreWebView2EnvironmentOptions
类:CoreWebView2ChannelSearchKind Enum
MostStable
LeastStable
CoreWebView2ReleaseChannels 枚举
None
Stable
Beta
Dev
Canary
Bug 修复
仅限运行时
- 修复了在 WebMessage API 中使用
AdditionalObjects
时可能导致崩溃的潜在整数溢出。
1.0.2526-prerelease
发布日期:2024 年 4 月 22 日
用于 WebView2 SDK 1.0.2526-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 125.0.2526.0 或更高版本随附的 WebView2 运行时。
中断性变更
.NET WebView2(包括 WPF 和 WinForms 控件)的最低.NET Framework版本要求已从 .NET Framework 4.5 更新到 .NET Framework 4.6.2。
实验性 API
此预发布 SDK 中添加了以下实验性 API。
- 添加了
SaveAs
允许以编程方式执行 “另存为” 操作的 API。 可以使用这些 API 来阻止默认的“ 另存为 ”对话框,然后以无提示方式保存,或生成自己的 UI 以用于 “另存为”。 这些 API 仅适用于 “另存为 ”对话框,而不适用于“ 下载 ”对话框,后者继续使用现有下载 API。
CoreWebView2
类:-
Complete
Default
HtmlOnly
SingleFile
-
Cancelled
FileAlreadyExists
InvalidPath
KindNotSupported
Success
CoreWebView2SaveAsUIShowingEventArgs
类:- CoreWebView2SaveAsUIShowingEventArgs.AllowReplace 属性
- CoreWebView2SaveAsUIShowingEventArgs.Cancel 属性
- CoreWebView2SaveAsUIShowingEventArgs.ContentMimeType 属性
- CoreWebView2SaveAsUIShowingEventArgs.GetDeferral 方法
- CoreWebView2SaveAsUIShowingEventArgs.Kind 属性
- CoreWebView2SaveAsUIShowingEventArgs.SaveAsFilePath 属性
- CoreWebView2SaveAsUIShowingEventArgs.SuppressDefaultDialog 属性
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 支持 Fluent 样式覆盖滚动条。
CoreWebView2EnvironmentOptions
类:-
Default
FluentOverlay
Bug 修复
运行时和 SDK
修复了 WinRT JavaScript 投影中的 bug,其中传入类型化数组会导致“接口不支持”错误。 (问题 #3486)
添加了对在 WinRT JavaScript 投影中处理
out
数组参数的支持。
仅限运行时
修复了默认启用图像自动字幕功能的 bug。
修复了以下 bug:如果
LaunchingExternalURIScheme
附加了事件处理程序,如果启用了“ 始终记住 ”复选框,并且用户选中此复选框,对话框将再次错误地显示。修复了
GetNonClientRegionAtPoint
某些点返回Nowhere
错误的问题。修复了文本服务框架在将文件拖放到 WebView2 区域时断开连接的 bug。
修复了当设置为
false
时AreDevToolsEnabled
,视图源 Ctrl+U 键盘快捷方式保持启用状态的 bug。修复了在重新获得焦点时复制可组合输入法的 bug。 (问题 #1610)
确保
devicePixelRatio
与自定义光栅化比例同步。 (问题 #3060)修复了在 中使用
CallDevToolsProtocolMethod
NewWindowRequested
事件时的争用条件。 (问题 #4181)修复了在已销毁但
Controller
用户尝试按 Tab 键进入控件时 WPFTabIntoCore
中可能发生的崩溃 () 。 (问题 #4452)确保拼写检查采用不区分大小写格式的输入语言。
使语言 API 在用户输入方面更加可靠。
修复了不显示 “保存密码?” 提示的 bug。
仅 SDK
- 修复了 WinRT 投影中缺少
AreBrowserExtensionsEnabled
的 API。
1.0.2420.47
发布日期:2024 年 3 月 25 日
用于 WebView2 SDK 1.0.2420.47 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 123.0.2420.47 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
- 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。
CoreWebView2CompositionController
类:CoreWebView2NonClientRegionChangedEventArgs
类:CoreWebView2NonClientRegionKind 枚举
Caption
Client
Nowhere
CoreWebView2Settings
类:
FailureSourceModulePath
向ProcessFailedEventArgs
类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH
CoreWebView2ProcessFailedEventArgs
类:
Bug 修复
仅 SDK
- WinForms 和 WPF 的 .NET 程序集现在随附并启用了优化。 (问题 #4409)
1.0.2470-prerelease
发布日期:2024 年 3 月 25 日
用于 WebView2 SDK 1.0.2470-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 WebView2 运行时版本 124.0.2470.0 或更高版本。
实验性 API
此预发布 SDK 中添加了以下实验性 API。
- 支持 Fluent 样式覆盖滚动条。
CoreWebView2EnvironmentOptions
类:-
Default
FluentOverlay
- 更新了 WebMessageObjects API,允许将 DOM 对象注入到通过应用和
CoreWebView2.PostWebMessage
API 向其他方向构造的 WebView2 内容中。 添加了一个新的 Web 对象类型来表示文件系统句柄,该句柄可以发布到 Web 内容,以便为其提供文件系统访问权限。
CoreWebView2
类:CoreWebView2Environment
类:CoreWebView2FileSystemHandle
类:CoreWebView2FileSystemHandleKind 枚举
File
Directory
CoreWebView2FileSystemHandlePermission 枚举
ReadOnly
ReadWrite
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 可以指定
ReleaseChannels
以选择在创建环境期间搜索的通道,以及ChannelSearchKind
选择搜索顺序。
CoreWebView2EnvironmentOptions
类:CoreWebView2ChannelSearchKind Enum
MostStable
LeastStable
CoreWebView2ReleaseChannels 枚举
None
Stable
Beta
Dev
Canary
FailureSourceModulePath
向ProcessFailedEventArgs
类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH
CoreWebView2ProcessFailedEventArgs
类:
Bug 修复
仅限运行时
- 修复了在卸载旧版 WebView2 客户端 DLL 时可能导致应用程序进程崩溃的可靠性回归。
- 确保 WebView2 临时下载文件夹对于每个用户数据文件夹是唯一的,并且不会干扰其他应用或浏览器。
1.0.2365.46
发布日期:2024 年 2 月 26 日
用于 WebView2 SDK 1.0.2365.46 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 122.0.2365.46 或更高版本。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
- 添加了对
WebResourceRequested
辅助角色的支持,允许设置筛选器,以便接收WebResourceRequested
服务辅助角色、共享辅助角色和不同源 iframe 的事件。
CoreWebView2
类:CoreWebView2WebResourceRequestedEventArgs
类:
- 若要支持 WebView2 中的浏览器扩展,请为 WinRT 添加
GetBrowserExtensions
:
Bug 修复
仅限运行时
修复了当新窗口设置为源 WebView 时影响事件处理的
NewWindowRequested
回归。 (问题 #4250)修复了关闭具有嵌入 PDF 查看器的 WebView 可能导致崩溃的 bug。 (问题 #3832)
修复了在应用程序启用
SetWindowDisplayAffinity
时鼠标单击停止工作的回归。 (问题 #4325)
1.0.2415-prerelease
发布日期:2024 年 2 月 26 日
用于 WebView2 SDK 1.0.2415-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 的预发行版需要 Microsoft Edge 版本 123.0.2415.0 或更高版本随附的 WebView2 运行时。
中断性变更
- 的 属性
CoreWebView2LaunchingExternalUriSchemeEventArgs
的行为InitiatingOrigin
已更改。InitiatingOrigin
如果 是不透明的原点,则InitiatingOrigin
事件 args 中报告的 是其前身原点。 前导原点是创建不透明原点的原点。 例如,如果位于example.com
的帧打开具有不同不透明原点的子帧,则子帧的前身原点为example.com
。
CoreWebView2LaunchingExternalUriSchemeEventArgs
类:
- 枚举的成员
CoreWebView2TextureStreamErrorKind
已重命名:
旧成员名称:
- CoreWebView2TextureStreamErrorKind 枚举
CoreWebView2TextureStreamErrorNoVideoTrackStarted
CoreWebView2TextureStreamErrorTextureError
CoreWebView2TextureStreamErrorTextureInUse
新成员名称:
- CoreWebView2TextureStreamErrorKind 枚举
NoVideoTrackStarted
TextureError
TextureInUse
实验性 API
此预发布 SDK 中添加了以下实验性 API。
- 类
CoreWebView2ControllerOptions
现在具有一个AllowHostInputProcessing
属性,它允许用户输入消息 (键盘、鼠标、触摸和笔) 通过浏览器窗口,由应用进程窗口接收。
CoreWebView2ControllerOptions
类:
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。
CoreWebView2CompositionController
类:CoreWebView2Settings
类:
Bug 修复
仅限运行时
修复了当权限请求设置为“未保留” (即)
SavesInProfile = false
时,相机或麦克风无法在 Google Meet 或 Microsoft Teams 会议中打开。 (问题 #3592)修复了在 WebView2 浏览器进程中追加空
--edge-webview-custom-scheme
命令行开关的修复。禁用了全局
UserDataFolder
注册表项,因此只能按应用应用应用此注册表项。修复了
NewWindowRequested
浏览器扩展打开时未触发的事件。 (问题 #3841)修复了
NewWindowRequested
打开视图源时未触发的事件。 (问题 #4162)修复了下载涉及导航时触发
StateChanged
和BytesReceivedChanged
事件的问题。修复了对话框导致 WebView2 窗口意外跳转位置的 bug
BeforeUnload
。 (问题 #4350)修复了在 PDF 完全加载之前,如果调用太早,则打印空白页的问题
PrintAsync
。 (问题 #3779)
1.0.2277.86
发布日期:2024 年 2 月 5 日
用于 WebView2 SDK 1.0.2277.86 的 NuGet 包
为了完全实现 API 兼容性,此发布版本的 WebView2 SDK 需要 WebView2 运行时版本 121.0.2277.86 或更高版本。
中断性变更
重要提示
中断性变更:到 的 about:blank
导航现在可通过 NavigationStarting
事件取消。 若要还原旧行为,请msWebView2CancellableAboutNavigations
禁用功能标志。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
ExecuteScriptWithResult
如果脚本失败,则提供异常信息。TryGetResultAsString
将脚本执行结果作为字符串而不是 JSON 获取,以便更方便地与字符串结果交互:
CoreWebView2
类:
Bug 修复
仅限运行时
确保拼写检查语言以编程方式匹配
put_Language
。 自定义上下文菜单也会使用正确的拼写检查进行更新。 仅 (运行时)修复了一个 bug,该 bug 停止为加载 AV1 编码视频的某些网站引发
NavigationCompleted
事件。 (仅限运行时) (问题 #3801)修复了在 WebView 拆解过程中会释放主机进程 COM 资源的问题。 (仅限运行时) (问题 #4226)
修复了加载某些社交媒体应用(如Facebook、Twitter 和LinkedIn)的 bug。 此更改特定于运行时。 (仅限运行时) (问题 #4281)
1.0.2357-prerelease
发布日期:2024 年 1 月 30 日
用于 WebView2 SDK 1.0.2357-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 122.0.2357.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中添加了以下实验性 API。
- 添加了运行时选择功能,以支持更多预发布测试和外部测试方案。 开发人员可以指定
ReleaseChannels
以选择在创建环境期间搜索的通道,以及ChannelSearchKind
选择搜索顺序。
- 添加了一个新的 API,用于在 WebView2 包含的区域上提供命中测试结果。 对于希望在 WebView2 窗口的非工作区上处理鼠标事件的可视托管应用程序,此 API 非常有用。
CoreWebView2CompositionController
类:CoreWebView2Settings
类:
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
CoreWebView2AcceleratorKeyPressedEventArgs
具有一个新IsBrowserAcceleratorKeyEnabled
属性,用于控制浏览器是否处理快捷键 (快捷键) ,例如 Ctrl+P 或 F3:
CoreWebView2AcceleratorKeyPressedEventArgs
类:
- 帧进程信息 API(包括
GetProcessExtendedInfos
)提供在关联呈现器进程中主动运行的所有帧的快照集合。 此 API 使主机应用程序能够检测 WebView2 的哪个部分消耗了内存或 CPU 使用率等资源:
CoreWebView2Environment
类:CoreWebView2ProcessExtendedInfo
类:CoreWebView2
类:CoreWebView2Frame
类:CoreWebView2FrameInfo
类:
ExecuteScriptWithResult
如果脚本失败,则提供异常信息。TryGetResultAsString
将脚本执行结果作为字符串而不是 JSON 获取,以便更方便地与字符串结果交互:
CoreWebView2
类:
CreateFromComICoreWebView2
将现有ICoreWebView2
对象包装在实例中CoreWebView2
,以允许 .NET 开发人员与使用 C++ 创建的控件进行交互。
CoreWebView2
类:
- 若要支持 WebView2 中的浏览器扩展,请为 WinRT 添加
GetBrowserExtensions
:
- 添加了对
WebResourceRequested
辅助角色的支持,允许设置筛选器,以便接收WebResourceRequested
服务辅助角色、共享辅助角色和不同源 iframe 的事件。
CoreWebView2
类:CoreWebView2WebResourceRequestedEventArgs
类:
Bug 修复
仅限运行时
修复了关闭具有嵌入 PDF 查看器的 WebView 控件可能导致崩溃的 bug。 (仅限运行时) (问题 #3832)
修复了子进程任务栏图标的堆叠问题。 (仅限运行时) (问题 #3245)
修复了为 Edge Cloud Config Service 发送不必要的网络请求的 bug。 (仅限运行时) (问题 #4180)
更新了 CSS 属性的行为
app-region
,以便更改其值会触发页面重新布局。 仅 (运行时)修复了未注册事件处理程序
AcceleratorKeyPressed
时无法更新 WebView2 设置的问题put_AreBrowserAcceleratorKeysEnabled
。 (仅限运行时) (问题 #4278)
仅 SDK
修复了 .NET 中的 WebView2 控件在 UNC 路径上找不到
WebView2Loader.dll
的问题。 ) 仅 (SDK) (问题 #4081修复了在 .NET 控件中导致 实例
InvalidOperationException
的一些问题,这些问题对开发人员没有帮助。 (仅限 SDK) (问题 #4272)
1.0.2210.55
发布日期:2023 年 12 月 11 日
用于 WebView2 SDK 1.0.2210.55 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 120.0.2210.55 或更高版本。
中断性变更
重要提示
中断性变更:如果要使用固定版本运行时 v120 或更高版本开发未打包的 Win32 应用,并且面向Windows 10设备,则需要 () 运行几个 ACL shell 命令icacls
,以避免由于 WebView2 中实现的新安全功能而崩溃。 请参阅 [中断性变更] 在 Win10 上使用固定版本 v120+ 解压缩的 Win32 应用需要 ACL。 修补程序位于文章分发应用和 WebView2 运行时,有关固定版本运行时分发模式的详细信息部分,步骤“在Windows 10设备上,从固定版本 120 开始,使用固定版本的未打包 Win32 应用程序的开发人员必须运行以下命令。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
- 支持 WebView2 中的浏览器扩展:
CoreWebView2EnvironmentOptions
类:CoreWebView2Profile
类:
- 帧进程信息 API(包括
GetProcessExtendedInfos
)提供在关联呈现器进程中主动运行的所有帧的快照集合。 此 API 使主机应用程序能够检测 WebView2 的哪个部分消耗了内存或 CPU 使用率等资源:
CoreWebView2Environment
类:CoreWebView2ProcessExtendedInfo
类:CoreWebView2
类:CoreWebView2Frame
类:CoreWebView2FrameInfo
类:
ICoreWebView2AcceleratorKeyPressedEventArgs
具有一个新IsBrowserAcceleratorKeyEnabled
属性,允许开发人员控制浏览器是否处理快捷键 (快捷键) ,例如 Ctrl+P 或 F3:
CoreWebView2AcceleratorKeyPressedEventArgs
类:
- 添加了对管理配置文件删除的支持:
CoreWebView2Profile
类:
Bug 修复
在 WinRT JS 投影中添加了对主机对象的异步方法的承诺取消的支持。 有关 的信息
AddHostObjectToScript
,请参阅 从 Web 端代码调用本机 WinRT 代码。 (运行时和 SDK)为 WebView2 API 导航禁用了自动 HTTPS 升级。 (仅限运行时) (问题 #4104)
1.0.2151.40
发布日期:2023 年 11 月 6 日
用于 WebView2 SDK 1.0.2151.40 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 119.0.2151.40 或更高版本。
正式发布
重要提示
公告:Xbox WebView2 SDK 现已正式发布 (GA) ,并在 Xbox 2310 年 10 月版本 (231018-2200) 提供。 有关更多详细信息,请参阅 适用于 Xbox 的 WebView2 公告。
促销
以下 API 已提升为稳定版,现已包含在此发布 SDK 中。
- 向事件参数添加了源帧信息
NewWindowRequested
,以标识请求的源:
CoreWebView2NewWindowRequestedEventArgs
类:
- 对于 WinRT,已添加选项以在创建
CoreWebView2Environment
时管理自定义方案注册:
CoreWebView2CustomSchemeRegistration
类:CoreWebView2EnvironmentOptions
类:
Bug 修复
- 修复了创建多个 WebView 可能导致崩溃的可靠性问题。 (仅限运行时) (问题 #3793)
1.0.2194-prerelease
发布日期:2023 年 11 月 6 日
用于 WebView2 SDK 1.0.2194-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 120.0.2194.0 或更高版本随附的 WebView2 运行时。
促销
在此预发行版 SDK 中,以下 API 已从实验性提升为稳定 API。
- 支持 WebView2 中的浏览器扩展:
- CoreWebView2BrowserExtension 类
CoreWebView2EnvironmentOptions
类:CoreWebView2Profile
类:
Bug 修复
- 修复了以下问题:在更改监视器规模或在 RDP 和停靠模式之间切换后,WebView2 有时会呈现模糊内容或没有内容。 仅 (运行时)
- 修复了销毁 WebView2 实例时导致崩溃的问题
TextServicesFoundation
。 仅 (运行时) - 修复了从 WebView2 发送但未从应用程序端读取的 Web 消息时 .NET 中的内存泄漏问题。 (运行时和 SDK) (问题 #3794)
- 修复了导致
ScaleFactor
设置无法对所有 WebView2 打印 API 正常工作的问题。 (仅限运行时) (问题 #4082)
1.0.2088.41
发布日期:2023 年 10 月 16 日
用于 WebView2 SDK 1.0.2088.41 的 NuGet 包
为了完全实现 API 兼容性,此 WebView2 SDK 版本需要 WebView2 运行时版本 118.0.2088.41 或更高版本。
促销
此发布 SDK 中没有其他 API 已提升到稳定版并已添加。
Bug 修复
- 修复了导致某些 UWP 应用无法输入文本的问题。 (仅限运行时) (问题 #3805)
- 修复了使用 Windows
PerProcessSystemDPIForceOff
兼容性设置的应用的初始化失败。 (仅限运行时) (问题 #3692) - 修复了 WebView2 中的对话框位置偏移 bug。 (仅限运行时) (问题 #3763)
1.0.2164-prerelease
发布日期:2023 年 10 月 18 日
用于 WebView2 SDK 1.0.2164-prerelease 的 NuGet 包
为了完全实现 API 兼容性,此预发布版本的 WebView2 SDK 需要 Microsoft Edge 版本 120.0.2164.0 或更高版本随附的 WebView2 运行时。
实验性 API
此预发布 SDK 中添加了以下实验性 API。
FailureSourceModulePath
向ProcessFailedEventArgs
类型添加了 属性,以指定在 Windows 代码完整性失败的情况下导致崩溃的模块的完整路径,即当进程以 退出时。STATUS_INVALID_IMAGE_HASH
CoreWebView2ProcessFailedEventArgs
类:
Bug 修复
- 在 PrintToPDF API 中添加了对其他页面设置的支持 (
PageRange
和PagesPerSheet
) 。 (仅限运行时) (问题 #3719) - 未正确处理到扩展资源文件的导航,现在已使用正确的处理方法进行了修复。 (仅限运行时) (问题 #3728)
- 修复了导致某些 UWP 应用无法输入文本的问题。 (仅限运行时) (问题 #3805)
- 修复了使用 Windows
PerProcessSystemDPIForceOff
兼容性设置的应用的初始化失败。 (仅限运行时) (问题 #3692) - 删除了在系统默认浏览器设置更改时收集数据的监视器。 仅 (运行时)
- 修复了 WebView2 中的对话框位置偏移 bug。 (仅限运行时) (问题 #3763)
- 修复了 如果 设置为
null
,则事件NewWindow
中的NewWindowRequested
崩溃。 仅 (运行时)
另请参阅
- 关于 WebView2 SDK 的发行说明
- WebView2 SDK 的存档发行说明
- WebView2 功能和 API 概述 - 按功能区域概述了发布 SDK 包中的许多 API。
- 联系 Microsoft Edge WebView2 团队