【发布时间】:2021-12-07 15:08:25
【问题描述】:
所以 SharedArrayBuffer 最近被limited to Cross-origin isolated pages 作为安全修复程序。
我们有一个依赖于 SharedArrayBuffer 的工具,我将它重新设计为 再次工作,方法是将其移至一个剔除所有其他网站 UI 和其他内容的准系统页面,并发送以下标头:
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
尝试将其加载到成熟网站的 iframe 中时,我会出现控制台错误 SharedArrayBuffer will require cross-origin isolation as of M92,然后是 ReferenceError: SharedArrayBuffer is not defined - 与我在跨域隔离最小页面本身的工具之前遇到的相同。
我试图在其中包含 iframe 的页面是不是跨域隔离的。如果不是不可能,那将是非常困难的。我根本不需要从父页面与 iframe 交谈,这只是一种方便/风格的东西。目前的生产解决方案只是在新窗口中将用户链接到最小的跨源工具页面,但这很尴尬。
我希望有一些 iframe sandbox attributes 的组合或者可以使它工作的东西?我为此奋斗了几个小时。
据我所知,这可能不可行。
【问题讨论】:
标签: javascript html iframe sharedarraybuffer