所以我读到Chrome中即将进行的更改,特别是启用SharedArray Buffer;制作您的网站"交叉起源隔离"&";。我的网站使用了不符合此要求的外部API。因此,我所做的是,使用子域将使用SharedArrayBuffer的代码卸载到iframe中,并将所需的头添加到该页面中。现在读得更多了,我似乎仍然需要为顶级文档提供所需的标题,否则我仍然会在控制台中收到警告。
只是为了澄清,我的网站现在使用以下结构:
app.website.com
->包含完整的应用程序功能service.website.com
->包含使用SharedArrayBuffer的功能
我以为我可以简单地将所需的标头添加到service.website.com
中,一切都会正常工作,但我仍然收到跨原点警告。有什么想法吗?
SharedArrayBuffer只能在整个帧链处于跨原点隔离的环境中启用。即使嵌入了使用SharedArrayBuffer
的页面,父页面也必须是跨原点隔离的。
一个可能的解决方案是打开一个跨原点隔离的弹出窗口,如果用户体验可用于此目的。需要注意的一点是,跨源隔离页面将无法与其他窗口通信。
我知道这很痛苦,但出于安全考虑,需要跨来源隔离。