如何使我的站点与即将到来的 SharedArrayBuffer 跨源隔离更改兼容

问题描述

所以我读到 Chrome 即将发生变化,以启用 SharedArrayBuffer 的使用,特别是“使您的网站“跨域隔离””。我的站点使用不符合此要求的外部 API。所以我所做的是,使用子域将使用 SharedArrayBuffer 的代码卸载到 iframe 中,并将所需的标头添加到该页面。现在阅读更多内容,似乎我仍然需要为顶级文档提供所需的标题,否则我仍然会在控制台中收到警告。

澄清一下,我的网站现在使用以下结构:

  • app.website.com -> 包含完整的应用功能
  • service.website.com -> 包含使用 SharedArrayBuffer 的功能

我以为我可以简单地将所需的标头添加service.website.com 并且一切正常,但我仍然收到跨源警告。有什么想法吗?

解决方法

SharedArrayBuffer 只能在整个帧链处于跨域隔离的环境中启用。即使您嵌入使用 SharedArrayBuffer 的页面,父页面也必须是跨源隔离的。

一种可能的解决方法是打开一个跨域隔离的弹出窗口,如果 UX 可用于此目的。一个警告是跨域隔离页面将无法与其他窗口通信。

我知道这很痛苦,但出于安全原因需要跨域隔离。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...