问题描述
所以我读到 Chrome 即将发生变化,以启用 SharedArrayBuffer 的使用,特别是“使您的网站“跨域隔离””。我的站点使用不符合此要求的外部 API。所以我所做的是,使用子域将使用 SharedArrayBuffer 的代码卸载到 iframe 中,并将所需的标头添加到该页面。现在阅读更多内容,似乎我仍然需要为顶级文档提供所需的标题,否则我仍然会在控制台中收到警告。
澄清一下,我的网站现在使用以下结构:
我以为我可以简单地将所需的标头添加到 service.website.com
并且一切正常,但我仍然收到跨源警告。有什么想法吗?
解决方法
SharedArrayBuffer 只能在整个帧链处于跨域隔离的环境中启用。即使您嵌入使用 SharedArrayBuffer
的页面,父页面也必须是跨源隔离的。
一种可能的解决方法是打开一个跨域隔离的弹出窗口,如果 UX 可用于此目的。一个警告是跨域隔离页面将无法与其他窗口通信。
我知道这很痛苦,但出于安全原因需要跨域隔离。