的用法SharedArrayBuffer
导致错误:Uncaught ReferenceError: SharedArrayBuffer is not defined
在 Chrome 92 上。这是为什么?我该如何解决?
问问题
175 次
1 回答
1
SharedArrayBuffer
Chrome 桌面版在 Chrome 91 之前一直免费提供,但在 92 之后,它需要一种特殊的状态,称为“跨域隔离”,与 Firefox 和 Android Chrome 保持一致。要启用状态,您必须发送两个安全标头Cross-Origin-Embedder-Policy: require-corp
和Cross-Origin-Opener-Policy: same-origin
.
Spectre的发现导致所有浏览器禁用SharedArrayBuffer
,但 Chrome 桌面可以使用专有的站点隔离再次启用它。Chrome 92 是它转向标准化方法的版本。
如上所述,应用两个标头并启用“跨域隔离”是可行的方法,但设置它可能需要一段时间。作为一个逃生口,您可以请求一个原始试验,将您的网站列入白名单,以便至少在 Chrome 96 之前继续使用SharedArrayBuffer
而无需跨域隔离。
要了解有关跨域隔离的更多信息,请阅读:
于 2021-06-10T03:18:26.447 回答