Cross Origin Isolation

是什么

Cross Origin Isolation 是浏览器的一种状态, 在开启的状态下, 可以使用更多的高级特性, 例如 SharedArrayBuffer. 是否有开启可以通过在控制台查看 window.crossOriginIsolated 属性, 如果是 true 表示已开启.

以下的案例可以看出, 在有 crossOriginIsolated 的状态下, 才可以使用 SharedArrayBuffer. 否则会返回 SharedArrayBuffer undefined 的错误.

window.crossOriginIsolated
// true

new SharedArrayBuffer(16);
// SharedArrayBuffer(16)

为什么需要

godot 导出 html 时, 需要用到 SharedArrayBuffer 功能, SharedArrayBuffer 必须在 Cross Origin Isolation 状态下才能使用

如何开启

返回的 response header 需要有 Cross-Origin-Opener-Policy 的值是 “same-origin”, Cross-Origin-Embedder-Policy 的值是 “require-corp” 或者 “credentialless”