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

如何检测浏览器是否支持SharedArrayBuffer?

SharedArrayBuffer支持性检测方案

浏览器端检测

直接通过判断全局构造函数是否存在、且可正常实例化完成检测,比UA匹配准确率更高、实现更简单,示例代码如下:

function checkSharedArrayBufferSupport() {
  // 优先判断全局是否暴露该构造函数
  if (typeof SharedArrayBuffer === 'undefined') {
    return false
  }
  // 兼容特殊环境下构造函数存在但无法正常实例化的异常场景
  try {
    const testBuffer = new SharedArrayBuffer(4)
    return testBuffer.byteLength === 4
  } catch (err) {
    return false
  }
}

直接调用上述函数即可得到布尔值的检测结果,true代表支持,false代表不支持。
如果符合版本要求的浏览器检测结果为false,需要确认站点是否已经配置了跨域隔离响应头:

  • Cross-Origin-Opener-Policy: same-origin
  • Cross-Origin-Embedder-Policy: require-corp
    只有正确配置上述头信息后,浏览器才会将SharedArrayBuffer暴露到全局作用域。

Node.js端检测

检测逻辑和浏览器端基本一致,示例代码如下:

function checkNodeSABSupport() {
  if (typeof SharedArrayBuffer === 'undefined') return false
  try {
    return new SharedArrayBuffer(8) instanceof SharedArrayBuffer
  } catch {
    return false
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 17:48:00