微软日前宣布,它将取消用于收集用户设备和浏览器相关数据的 window.external.getHostEnvironmentValue() 方法。取而代之的是一个更注重隐私、更标准化的用户代理客户端提示应用程序接口(User-Agent Client Hints API)。
它写道:
window.external.getHostEnvironmentValue() 方法是网络开发人员访问浏览器和平台信息的一种非标准方式,仅适用于Edge。......我们宣布计划淘汰该方法,并要求网络开发人员使用标准化的 User-Agent Client Hints API 代替。
微软公司进一步解释说:
我们之所以决定弃用 getHostEnvironmentValue() 方法,是因为我们希望通过消除用户指纹来提高浏览器的隐私性。UA 客户端提示 API 提供的浏览器和平台信息更能保护隐私,因为浏览器可以决定在请求提示时返回哪些信息。每次请求都可以访问低熵提示,而有可能泄露更多指纹信息的高熵提示则可以通过用户偏好设置或权限请求加以限制。
因此,User-Agent Client Hints API 建立在 Client Hints 框架的基础上,让网站可以访问浏览器和平台的详细信息,从根本上说,它可以最大限度地减少用户浏览时留下的数据足迹,同时还能让网站获得足够的信息来提供优化的体验。
微软还提供了弃用的时间表。该公司表示,它将大致分三步进行,并计划在 10 月份之前完全移除,这与 Windows 10 支持的到期时间一致。它写道:
为了减少互操作性问题并收集反馈意见,我们计划按照以下步骤淘汰非标准的 getHostEnvironmentValue() 方法:
Edge 版本 | 发布日期 | 弃用步骤 |
---|---|---|
Edge 135 | 4月 3, 2025 | DevTools 控制台会在开发人员的代码使用该方法时发出警告。开发人员还可以使用功能标志在禁用该方法的情况下测试其网站。 |
Edge 137 | 5月 23, 2025 | 该方法已禁用,但仍可通过请求域的临时扩展来使用。 |
Edge 141,取决于开发人员的反馈 | 2025 年 10 月 | 该方法已从 Edge 中完全删除。 |
微软还补充说,允许依赖它的网站提出扩展请求。您可以在官方博文中找到更多相关细节:
https://blogs.windows.com/msedgedev/2025/04/03/deprecating-window-external-gethostenvironmentvalue/