根据 Mozilla 的说法,iOS 上没有浏览器支持跨域打开器策略,这是启用 SharedArrayBuffer 的安全要求之一。这是否意味着我不能将 SharedArrayBuffer 用于 iOS 平台上的任何 Web 应用程序?
6 回答
您现在可以在 Safari 中启用一个标志:
在标志后面复活 SharedArrayBuffer 和 Atomics (JSC_useSharedArrayBuffer=1) (r269531)
不幸的是,由于 Spectre / Meltdown 问题,SharedArrayBuffer 被禁用,所以不,你不能使用它:
实际上它在 Caniuse 网站上说您可以启用该功能,但我没有找到为此目的的文档:Safari
如果用户已升级到 Safari 15.2,则可以使用 COOP 和 COEP 标头启用 SharedArrayBuffer。请参阅此文档页面。
Safari Technology Preview 最近宣布它可以在页面跨域隔离时启用 SharedArrayBuffer。https://webkit.org/blog/11975/release-notes-for-safari-technology-preview-133/
启用跨域隔离有一定的要求。在此处了解更多信息:https ://web.dev/coop-coep/
要完成user3325025和Alexander的回答,您可以通过在终端中键入以下命令来打开启用 SharedArrayBuffer 的 Safari:
__XPC_JSC_useSharedArrayBuffer=1 open -a "Safari"
以下是支持 SharedArrayBuffer 的浏览器列表:https ://caniuse.com/sharedarraybuffer