:功能矩阵、版本策略、CSP 配置与兼容性检测实战指南)
Zoom Meeting SDK Web 浏览器支持策略knowledge-work-plugins功能矩阵、版本策略、CSP 配置与兼容性检测实战指南【免费下载链接】knowledge-work-pluginsOpen source repository of plugins primarily intended for knowledge workers to use in Claude Cowork项目地址: https://gitcode.com/GitHub_Trending/kn/knowledge-work-plugins本文基于 knowledge-work-plugins 仓库中 zoom-plugin 的 Meeting SDK Web 技能文档 browser-support.md系统讲解 Zoom Meeting SDK for Web 的浏览器兼容范围、功能支持矩阵、版本支持策略、移动端适配规则与 CSP 安全配置方法。读完本文你将能在项目中正确判断用户浏览器能否使用高清视频、虚拟背景、屏幕共享等特性并掌握checkSystemRequirements()编程化兼容检测与 SharedArrayBuffer 依赖的处理思路。文档定位它在 zoom-plugin 技能体系中的角色该文档位于 meeting-sdk/web/concepts/browser-support.md是 Meeting SDK Web 技能的概念层资料之一与同目录的 sharedarraybuffer.md 共同构成 Web 端部署的关键前置知识。Meeting SDK Web 提供 Client View完整 Zoom 界面嵌入与 Component View自定义组件集成两种集成形态两者对浏览器能力的依赖均记录在本文档的功能支持矩阵中仓库中 web/SKILL.md 与 web/references/web.md 中的初始化示例也反复引用本文的兼容检测结论。核心结论支持当前版本及前两个大版本文档开篇即给出总体兼容策略Zoom Meeting SDK for Web 支持当前发布版本向前两个大版本之内的浏览器。具体版本支持策略表如下引自原文档 Version Support Policy 一节If Current Version IsSupported VersionsChrome 140138, 139, 140Firefox 130128, 129, 130Safari 1816, 17, 18Edge 130128, 129, 130工程含义如果你的应用需要覆盖更老的浏览器用户只能自行做降级提示或功能裁剪而不应期待 SDK 兼容超过两个版本跨度之外的浏览器内核。功能支持矩阵按浏览器逐项核对这是本文档的核心内容。下表完整继承原文档的 Feature Support Matrixbrowser-support.md涵盖视频、音频、屏幕共享、会议功能、白板与其他五类共 36 项特性FeatureChromeFirefoxSafariEdgeiOS/iPadOSAndroidVideo720p Video (receive)✅✅✅✅✅✅720p Video (send)✅¹✅¹✅¹✅¹✅¹✅¹1080p (webinar attendees)✅¹✅¹✅¹✅¹✅¹✅¹Gallery View (25 videos)✅✅✅²✅✅✅Virtual Background✅✅❌✅❌❌WebRTC Video✅❌✅✅✅✅AudioAudio (receive)✅✅✅✅✅✅Audio (send)✅✅✅✅✅✅Background Noise Suppression✅¹✅¹✅¹✅¹✅¹✅¹Share Tab Audio✅¹❌❌✅¹❌❌Call In (PSTN)✅✅✅✅✅✅Call Out (PSTN)✅✅✅✅✅✅Screen SharingScreen Share (receive)✅✅✅✅✅✅Screen Share (send)✅✅✅³✅❌❌Remote Control (give)✅✅✅✅❌❌Be Remote Controlled❌❌❌❌❌❌Meeting FeaturesBreakout Rooms✅✅✅✅✅✅Waiting Room✅✅✅✅✅✅In-Meeting Chat✅✅✅✅✅✅Chat - Send File✅✅✅✅✅✅Cloud Recording✅✅✅✅✅✅Closed Captioning✅✅✅✅✅✅Live Transcription✅✅✅✅✅✅Live Translation✅✅✅✅✅✅RTMP Live Streaming✅✅✅✅✅✅Webinar QA✅✅✅✅✅✅WhiteboardWhiteboard (view)✅✅✅✅✅✅Whiteboard (edit)✅✅✅✅❌❌OtherStay Awake (Component View)✅⁴❌✅⁴✅⁴❌❌Encryption (TLS 1.2 AES-GCM)✅✅✅✅✅✅End-to-End Encryption (E2EE)❌❌❌❌❌❌矩阵脚注与原文档 Footnotes 一致是理解矩阵的关键Requires SharedArrayBuffer带 ¹ 号的特性720p 发送、1080p webinar 观看、背景噪声抑制、标签页音频共享都依赖 SharedArrayBuffer服务器必须启用 COOP/COEP 响应头。完整的启用方法与各托管平台的配置示例见同目录文档 sharedarraybuffer.md。Safari Gallery View需要 Safari 17.0、macOS Sonoma 系统以及 SDK v2.18.0。Safari Screen ShareComponent View 形态支持Client View 形态要求 Safari 17 且运行在 macOS 14 Sonoma 上。Stay AwakeChrome 116、Edge 90、Safari 16.4 支持底层使用 WakeLock API。从矩阵可以提炼出几条高价值的判断规则Firefox 是能力短板不支持 WebRTC Video使用不同的底层实现、不支持标签页音频共享、不支持 Stay AwakeSafari 是第二短板无虚拟背景、无标签页音频共享、屏幕共享发送受版本约束移动端iOS/Android共性限制不能发送屏幕共享、无虚拟背景、不能编辑白板、无 Stay Awake、无远控能力所有浏览器都不支持 E2EE端到端加密也不支持被远控基础传输仍使用 TLS 1.2 AES-GCM 加密全平台可用。移动端与平板的适配规则iOS 和 iPadOS原文档明确指出iOS/iPadOS 上所有浏览器共用同一个 WebKit 引擎包括 iOS 上的 Chrome 与 Firefox因此功能能力由iOS 系统版本而非浏览器版本决定iOS VersionKey CapabilitiesiOS 15.2SharedArrayBuffer supportiOS 16.4720p in landscape mode, WakeLockiOS 17Improved WebRTC performance这与矩阵中 iOS 列大量 ✅¹ 的解释相呼应即便 Safari 15.2 支持 SAB若用户设备停留在更老系统高清发送类特性会自动降级。Android大多数 Android 浏览器基于 Chromium功能取决于Android 系统版本 Chrome 版本Android VersionNotesAndroid 10Full supportChrome 112720p in landscape mode原文档特别强调Android 上的 Firefox 不受支持其使用 GeckoView 引擎而非 Chromium。Samsung InternetSamsung Internet 遵循自己的版本编号体系但底层是 Chromium可按下表对照Samsung InternetChromium Base20.0Chromium 10621.0Chromium 11122.0Chromium 118实际做版本兼容判断时应把 Samsung Internet 版本号映射到对应的 Chromium 基线再套用 Chrome 的支持矩阵。平板设备Device TypeBrowser SupportiPadSame as iOS SafariAndroid TabletsSame as Android browsersMicrosoft SurfaceSame as Windows desktop browsersChromebooksSame as Chrome desktop即平板不需要单独的兼容分支直接归并到对应平台的矩阵列即可。WebRTC 支持细节WebRTC 视频并非所有浏览器都有原文档给出的支持范围是ChromeWindows、macOS、Android、iOS、ChromeOSEdge仅 WindowsSafarimacOS、iOS覆盖 WebKit 系浏览器。这与功能矩阵中 Firefox 一列 WebRTC Video 为 ❌ 保持一致。另外部分 Android 机型因硬件差异存在特定限制做移动端适配测试时应以真机覆盖为准而不能只依赖版本号判断。与 SharedArrayBuffer 的强关联HD 特性的隐形门槛矩阵中带 ¹ 号的所有特性都把 SharedArrayBufferSAB作为前提。仓库中专门有一篇 sharedarraybuffer.md 讲这个问题其要点值得在浏览器支持判断时一并带入需要 SAB 的特性720p 视频发送HD、webinar 观众端 1080p、25 路画廊视图、虚拟背景、背景噪声抑制、Chrome/Edge 上的标签页音频共享没有 SAB 的后果视频回退到标清、画廊视图参与者数量减少、虚拟背景不可用、部分性能特性降级SAB 并非基础功能所必需不开启 COOP/COEPSDK 依然可以完成基础开会与 WebRTC只是功能受限。启用 SAB 的标准方式是在服务器响应中加入两个 Cross-Origin Isolation 头Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corpsharedarraybuffer.md 还给出了 Vercel、Netlify、CloudFront、GAE、nginx、Apache、Express 等平台的完整配置示例以及无法控制服务器头时的 Service Worker 替代方案浏览器支持判断时应与服务端头配置联动验证在控制台执行typeof SharedArrayBuffer function与window.crossOriginIsolated可确认当前页面是否真正进入跨源隔离状态。Content Security PolicyCSP配置如果你的站点启用了 CSP必须显式放行 Zoom SDK 依赖的域名否则会拦截脚本、WASM 与 WebSocket 连接。原文档给出的推荐 CSP 配置browser-support.md如下可直接复制到响应头或 meta 标签Content-Security-Policy: default-src self; base-uri self; worker-src blob:; style-src self unsafe-inline; script-src self unsafe-inline unsafe-eval https://zoom.us *.zoom.us dmogdx0jrul3u.cloudfront.net blob:; connect-src self https://zoom.us https://*.zoom.us wss://*.zoom.us; img-src self https:; media-src self https:; font-src self https:;配置要点解析worker-src blob:允许 SDK 用 blob URL 创建 Web Workerscript-src中的unsafe-eval与dmogdx0jrul3u.cloudfront.netZoom 静态资源 CDN缺一不可connect-src同时覆盖https://*.zoom.us与wss://*.zoom.us后者是实时媒体信令/媒体流的 WebSocket 通道。典型报错WebAssembly.instantiate() 被拒绝如果配置过严控制台会出现CompileError: WebAssembly.instantiate(): Refused to compile...原文档给出的修复方式是在script-src指令中追加unsafe-eval或在浏览器支持的前提下改用更细粒度的wasm-unsafe-eval。这与 Meeting SDK 使用 WebAssembly 内核的实现方式一致——仓库参考文档 web.md 中 Client View 示例调用了ZoomMtg.preLoadWasm()预加载 WASM也从侧面印证了 SDK 对 WASM 编译的强依赖。已知限制速查原文档的 Known Limitations 一节按浏览器维度做了汇总与矩阵互为印证这里完整继承所有浏览器任何 Web 浏览器都不支持 E2EE浏览器端不能被远控Be Remote Controlled 全平台 ❌。Safari无虚拟背景屏幕共享发送仅限 macOS Sonoma 上的 Safari 17无标签页音频共享。Firefox无 WebRTC 视频使用不同实现无标签页音频共享无 Stay Awake。移动端iOS/Android不能发送屏幕共享无虚拟背景不能编辑白板无 Stay Awake无远控。做产品级功能裁剪例如对 Safari 用户隐藏虚拟背景入口、对移动端隐藏共享屏幕按钮时以上清单可直接作为 UI 降级策略的依据。编程化兼容性检测checkSystemRequirements 与特性探测原文档给出了两类互补的检测代码。第一类是 SDK 自带的系统需求检查browser-support.md// Client View const requirements ZoomMtg.checkSystemRequirements(); console.log(Browser compatible:, requirements.browserInfo); // Component View const requirements client.checkSystemRequirements(); console.log(Video supported:, requirements.video); console.log(Audio supported:, requirements.audio); console.log(Screen share supported:, requirements.screen);两种形态的 API 入口不同Client View 直接调用静态方法ZoomMtg.checkSystemRequirements()Component View 则在创建的client实例上调用返回video/audio/screen布尔字段。这一用法在仓库多处得到印证web/SKILL.md 与 client-view/SKILL.md 均在初始化前输出checkSystemRequirements()结果web/references/web.md 也把它作为 HD Video 小节的第一步。第二类是不依赖 SDK 的原生特性探测browser-support.md适合在 SDK 加载之前就预判体验// Check SharedArrayBuffer for HD features const hasHD typeof SharedArrayBuffer function; // Check screen capture support const hasScreenShare navigator.mediaDevices typeof navigator.mediaDevices.getDisplayMedia function; // Check WebRTC support const hasWebRTC !!(window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection); // Check WakeLock support (Stay Awake) const hasWakeLock wakeLock in navigator;四段探测分别对应矩阵中四组关键特性SAB → 高清发送/虚拟背景等 ¹ 号特性getDisplayMedia→ 屏幕共享发送注意其在 iOS/Android 上为 ❌与矩阵吻合RTCPeerConnection含 WebKit/Gecko 前缀变体→ WebRTC 视频navigator.wakeLock→ Stay Awake。建议在应用入口处完成原生探测 SDK 检查双重校验再决定展示哪些功能入口与降级文案。实践建议按场景选型原文档 Recommendations 一节给出三类场景建议这里完整继承并结合上文补充说明追求最大兼容性桌面端优先使用 Chrome 或 Edge为 HD 特性启用 SharedArrayBuffer 头COOP/COEP移动端以 iOS Safari 为测试基准因为 iOS 上所有浏览器同为 WebKit对不支持的特性如 Firefox 无 WebRTC 视频提供降级提示文案。需要虚拟背景限定 Chrome、Edge 或 Firefox 桌面端确保 SharedArrayBuffer 已启用SAB 是硬前提Safari 与移动端用户无法获得该功能应在 UI 上隐藏入口。需要屏幕共享仅桌面浏览器可发送屏幕共享Safari 用户在 Client View 形态下需要 macOS Sonoma Safari 17较早版本的 Safari 可退回 Component View 形态使用。延伸阅读仓库内相关文档围绕浏览器支持主题zoom-plugin 的 Meeting SDK Web 技能还提供了以下可继续深入的资料web/SKILL.mdMeeting SDK Web 技能总览含 Client View / Component View 初始化与系统需求检查web/references/web.md完整 API 参考含 HD 视频开启条件enableHD/enableFullHD参数、分辨率档位与事件监听web/concepts/sharedarraybuffer.mdSharedArrayBuffer 五种启用方式、各托管平台配置与验证方法web/troubleshooting/common-issues.md 与 web/troubleshooting/error-codes.md常见问题与错误码排查client-view/SKILL.md 与 component-view/SKILL.md两种集成形态的分步指南。需要注意的是原文档末尾Official Resources一节指向 Zoom 官方知识库的两篇外部文档Web Client Features 与 Platform Comparison 对比文章此处不输出外链需要时可按标题在 Zoom 官方支持站点检索。本文所有功能矩阵、版本策略、CSP 配置与检测代码均以仓库文档为准涉及具体浏览器版本号时请以 browser-support.md 中记录的数值Chrome 140、Firefox 130、Safari 18、Edge 130为基准进行滚动更新核对。【免费下载链接】knowledge-work-pluginsOpen source repository of plugins primarily intended for knowledge workers to use in Claude Cowork项目地址: https://gitcode.com/GitHub_Trending/kn/knowledge-work-plugins创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考