You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome中Atomics与SharedArrayBuffer未默认启用的原因咨询

为什么Chrome 60+默认无法使用Atomics与SharedArrayBuffer?

嘿,这个问题背后其实是Chrome后来调整了安全策略导致的,我给你理清楚来龙去脉:

  • 安全风险驱动的策略变更:Chrome确实在60版本时默认启用了Atomics和SharedArrayBuffer,但没多久就发现这些特性可能被用来利用Spectre类的安全漏洞。所以从Chrome 67开始(包括你提到的65版本的部分分支、67 Canary测试版),Chrome默认关闭了这两个特性,以此降低浏览器的安全风险。

  • 需要满足跨源隔离条件才能自动启用:如果想让Chrome在生产环境中自动启用这两个特性,你的页面必须配置两个关键的HTTP响应头:

    • Cross-Origin-Opener-Policy: same-origin(或者same-site、strict-origin,具体根据你的跨源需求选择):限制页面只能和同源的窗口/文档建立关联
    • Cross-Origin-Embedder-Policy: require-corp:要求所有嵌入到页面的资源要么是同源的,要么带有合法的跨源许可(比如CORS头)
      当页面满足这两个条件时,Chrome就会自动启用Atomics和SharedArrayBuffer,不需要手动去改flags。
  • Node.js默认启用的原因:Node.js的运行环境和浏览器完全不同,它没有浏览器那样的跨源安全限制场景,所以不需要额外的安全校验,因此Node.js 8.x及以后版本默认就开启了这两个特性。

  • 本地测试的临时方案:如果只是本地开发测试,你可以通过chrome://flags/#shared-array-buffer手动开启对应的标志,但这种方式不适合生产环境,生产环境一定要通过配置HTTP头来满足跨源隔离要求。

内容的提问来源于stack exchange,提问作者Jared Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:18:56