浏览器兼容性
FlowPick 在不同浏览器中的功能可用性取决于浏览器对现代 Web API 的支持程度。本文档提供详细的功能兼容性矩阵和降级策略说明。
快速检测你的浏览器
在开始使用 FlowPick 之前,可以通过以下方式快速判断你的浏览器是否满足要求:
| 检查项 | 如何验证 | 不满足时的替代方案 |
|---|---|---|
| 浏览器版本 ≥ 86 | 地址栏输入 chrome://version 查看 | 升级浏览器到最新版 |
| 是否为 Chromium 内核 | 查看浏览器关于页面 | 换用 Chrome 或 Edge |
| File System Access API | 打开 在线工具,看是否有"选择保存目录"按钮 | 使用 Blob 下载模式(自动降级) |
| SharedArrayBuffer | 打开 在线工具,下载一个 TS 文件看合并速度 | 自动降级为单线程 FFmpeg |
浏览器支持概览
| 浏览器 | 最低版本 | 扩展支持 | 在线工具 | 推荐程度 |
|---|---|---|---|---|
| Google Chrome | 86+ | 完整支持 | 完整支持 | 推荐 |
| Microsoft Edge | 86+ | 完整支持 | 完整支持 | 推荐 |
| Brave | 86+ | 完整支持 | 完整支持 | 推荐 |
| Opera | 72+ | 完整支持 | 完整支持 | 可用 |
| 360 极速浏览器 | 最新版 | 完整支持 | 完整支持 | 可用 |
| QQ 浏览器 | 最新版 | 完整支持 | 完整支持 | 可用 |
| Firefox | 待定 | 即将推出 | 部分支持 | 开发中 |
| Safari | 不支持 | 不支持 | 部分支持 | 不推荐 |
功能可用性速查表
以下表格按功能维度展示各浏览器的支持情况,方便快速查阅:
| 功能 | Chrome | Edge | Firefox | Safari | 相关文档 |
|---|---|---|---|---|---|
| 扩展自动检测 | ✅ | ✅ | 🚧 | ❌ | 视频嗅探 |
| 在线工具下载 | ✅ | ✅ | ⚠️ | ⚠️ | 在线工具 |
| 目录选择与持久化 | ✅ | ✅ | ❌ | ❌ | 在线工具 — 保存目录 |
| 流式写入(FSA) | ✅ | ✅ | ❌ | ❌ | 下载引擎 — 写入策略 |
| StreamSaver.js | ✅ | ✅ | ⚠️ | ⚠️ | 下载引擎 |
| FFmpeg WASM 多线程 | ✅ | ✅ | ⚠️ | ❌ | 格式转换 |
| AES-128 解密 | ✅ | ✅ | ✅ | ✅ | 视频嗅探 — 加密流 |
| 批量下载队列 | ✅ | ✅ | ⚠️ | ⚠️ | 批量下载 |
| 桌面通知 | ✅ | ✅ | ✅ | ✅ | 配置参考 |
| 大文件下载 (>2GB) | ✅ | ✅ | ❌ | ❌ | 下载引擎 |
✅ 完整支持 · ⚠️ 部分支持(有降级) · 🚧 开发中 · ❌ 不支持
API 兼容性矩阵
FlowPick 依赖以下浏览器 API。不同浏览器的支持情况直接影响功能可用性。
核心 API
| API | 用途 | Chrome | Edge | Firefox | Safari |
|---|---|---|---|---|---|
fetch | 下载分片 | 42+ | 14+ | 39+ | 10.1+ |
WritableStream | 流式写入 | 59+ | 79+ | 100+ | 14.1+ |
Web Crypto API | AES 解密 | 37+ | 79+ | 34+ | 10.1+ |
WebAssembly | FFmpeg 运行 | 57+ | 16+ | 52+ | 11+ |
Service Worker | StreamSaver | 45+ | 79+ | 44+ | 11.1+ |
Notifications API | 下载通知 | 22+ | 14+ | 22+ | 7+ |
高级 API
| API | 用途 | Chrome | Edge | Firefox | Safari |
|---|---|---|---|---|---|
| File System Access API | 目录选择与持久化 | 86+ | 86+ | ❌ | ❌ |
SharedArrayBuffer | FFmpeg 多线程 | 需要 COEP/COOP | 需要 COEP/COOP | 需要 COEP/COOP | ❌ |
showSaveFilePicker | 另存为对话框 | 86+ | 86+ | ❌ | ❌ |
showDirectoryPicker | 目录选择器 | 86+ | 86+ | ❌ | ❌ |
requestIdleCallback | 延迟加载优化 | 47+ | 79+ | 55+ | ❌ |

功能降级策略
当浏览器不支持某个 API 时,FlowPick 会自动降级到替代方案,确保核心功能始终可用。
文件写入降级链
File System Access API (最佳)
↓ 不可用时降级
StreamSaver.js (流式写入)
↓ 不可用时降级
Blob + <a> download (内存写入,有大小限制)

File System Access API 不可用时的影响:
- 无法使用"选择保存目录"功能
- 每次下载需要手动选择保存位置(弹窗模式)
- 大文件(>1.5GB)可能因内存限制而失败
StreamSaver.js 不可用时的影响:
- 文件先完整加载到内存再触发下载
- 受 Blob 大小限制(1.5GB 硬上限)
- 大文件下载前会显示警告
FFmpeg 多线程降级
SharedArrayBuffer 可用 → 多线程 FFmpeg (快速)
↓ 不可用时降级
SharedArrayBuffer 不可用 → 单线程 FFmpeg (较慢)
↓ FFmpeg 加载失败时降级
TS 格式 → 直接二进制拼接 (最快,无需 FFmpeg)
SharedArrayBuffer 不可用时的影响:
- FFmpeg 合并速度降低约 40-60%
- 功能完全不受影响,仅速度变慢
- 选择 TS 输出格式可以完全跳过 FFmpeg
通知降级
Notifications API 可用 → 系统桌面通知
↓ 不可用时降级
界面内状态提示
安全头要求
FlowPick 网站需要配置以下 HTTP 响应头以启用全部功能:
必需的安全头
Cross-Origin-Opener-Policy: same-origin
Cross-Origin-Embedder-Policy: require-corp
这两个头是 SharedArrayBuffer 的前置条件,影响 FFmpeg 多线程模式。
推荐的安全头
X-Frame-Options: SAMEORIGIN
Cross-Origin-Resource-Policy: same-origin
这些头确保 StreamSaver.js 的 mitm.html 和 Service Worker 正常工作。
部署检查清单
如果你自行部署 FlowPick 网站,请确认:
-
/路径返回Cross-Origin-Opener-Policy: same-origin -
/路径返回Cross-Origin-Embedder-Policy: require-corp -
/mitm.html可正常访问 -
/streamsaver-sw.js可正常访问且 Service-Worker-Allowed 头正确 -
/_nuxt/*静态资源路径设置了正确的 COEP/COOP 头
各浏览器详细说明
Google Chrome(推荐)
版本要求:86+
支持的全部功能:
- File System Access API(目录选择、持久化权限)
- SharedArrayBuffer(需 COEP/COOP 头)
- StreamSaver.js
- FFmpeg WASM 多线程
- 所有扩展功能
已知问题:无
Microsoft Edge(推荐)
版本要求:86+
支持的全部功能:与 Chrome 相同(基于 Chromium)
已知问题:
- 部分企业策略可能禁用 File System Access API
- 扩展需要从 Edge 加载项商店安装
Firefox(开发中)
当前状态:扩展版本开发中,在线工具部分可用
限制:
- 不支持 File System Access API
- 不支持
showSaveFilePicker - SharedArrayBuffer 需要 COEP/COOP 头(Firefox 79+)
- StreamSaver.js 支持有限
降级行为:所有下载使用 Blob 模式
Safari(不推荐)
当前状态:不支持扩展版本
限制:
- 不支持 File System Access API
- 不支持 SharedArrayBuffer
- 不支持
showSaveFilePicker - 不支持
showDirectoryPicker - WebAssembly 支持有限
- Service Worker 功能受限
降级行为:仅支持基本的 Blob 下载模式,FFmpeg 可能无法加载
移动端浏览器
FlowPick 主要面向桌面浏览器设计。移动端浏览器的扩展支持有限:
| 平台 | 扩展支持 | 在线工具 |
|---|---|---|
| Android Chrome | 不支持扩展 | 部分可用 |
| Android Firefox | 有限支持 | 部分可用 |
| iOS Safari | 不支持扩展 | 部分可用 |
| iOS Chrome | 不支持扩展 | 部分可用 |
移动端的限制:
- 不支持 File System Access API
- 内存限制更严格
- 下载管理体验不如桌面端
如何选择浏览器
| 使用场景 | 推荐浏览器 | 原因 |
|---|---|---|
| 日常使用,追求最佳体验 | Google Chrome | 功能最完整,测试最充分 |
| 公司电脑,无法安装 Chrome | Microsoft Edge | 与 Chrome 内核相同,预装在 Windows 中 |
| 注重隐私保护 | Brave | 基于 Chromium,内置隐私保护 |
| 国内用户,习惯国产浏览器 | 360 极速浏览器 / QQ 浏览器 | 基于 Chromium,兼容性好 |
| 仅使用在线工具 | Chrome / Edge / Firefox | 在线工具对浏览器要求较低 |
| 需要下载超大文件 (>2GB) | Chrome / Edge | 需要 File System Access API 流式写入 |
常见问题
为什么我的浏览器看不到"选择保存目录"按钮?
"选择保存目录"依赖 File System Access API,需要 Chrome/Edge 86+ 版本。如果你的浏览器版本满足要求但仍看不到,可能是企业策略禁用了该 API。此时会自动降级为 Blob 下载模式。
FFmpeg 合并速度很慢怎么办?
FFmpeg 多线程模式需要 SharedArrayBuffer,这要求网站配置 COEP/COOP 安全头。如果你自行部署 FlowPick 且未配置这些头,FFmpeg 会自动降级为单线程模式,速度降低约 40-60%。
解决方案:
- 使用 FlowPick 官网(已配置安全头)
- 选择 TS 输出格式,跳过 FFmpeg 合并
- 自行部署时配置 COEP/COOP 头
移动端能用 FlowPick 吗?
移动端浏览器不支持扩展,但可以使用 在线工具。不过移动端存在内存限制和 API 缺失,大文件下载体验不佳。建议在桌面端完成下载。
Firefox 什么时候能完整支持?
Firefox 扩展版本正在开发中。Firefox 对 Manifest V3 的支持仍在完善,且 File System Access API 在 Firefox 中暂无实现计划。在扩展发布前,Firefox 用户可以使用在线工具。