Chrome 团队宣布他们将对桌面上的“SharedArrayBuffer”对象的限制推迟到 Chrome 92(最初是 Chrome 91)。做出此更改是为了响应有关此更改的原始消息令人困惑的反馈。
如果您网站上的 JavaScript 使用 [SharedArrayBuffer](https://developer.mozilla.org/docs/Web/JavaScript/Reference /Global%5FObjects/SharedArrayBuffer){rel="nofollow"} 发送消息时的对象。使用可能是由于您的网站中包含的框架、库或其他第三方内容。
更多信息请参见【启用跨域隔离指南】(https://web.dev/cross-origin-isolation-guide/){rel="nofollow"}。
SharedArrayBuffer 是一个 JavaScript 对象,它允许网站跨线程共享内存空间。这是在 Spectre 漏洞被发现之前使用的,但由于 Spectre 是 CPU 级别的漏洞,浏览器决定禁用 SharedArrayBuffer 对象。
然而,随着 Chrome 92 计划于 2021 年 5 月下旬发布,SharedArrayBuffer 对象将在跨域隔离之后进行门控。这意味着它只能被与其他网站隔离的网站访问。 Firefox 在 76 版本中已经实现了这一点,希望其他浏览器也能尽快效仿。
由于安全问题,Chrome 中不推荐使用 SharedArrayBuffer 对象。您可以使用 Chrome DevTools 或 Reporting API 确定它在您网站上的使用位置。一旦您确定了哪些页面受到影响,您可以删除该功能或启用跨域隔离。如果您不确定 SharedArrayBuffer 对象是什么,很可能是您网站上的第三方资源正在使用它。在这种情况下,您应该联系资源提供者并要求他们解决问题。
Chrome 92 发布后,如果没有跨域隔离,SharedArrayBuffer
对象将不再起作用。实际上,这意味着您网站上的 Chrome 用户可能会遇到性能下降的问题。
我们希望这个澄清是有用的。如果您有任何问题,我们建议您在 Search Central 帮助社区 中发帖,以获得其他专家的意见。