瀏覽器相容性
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 使用者可以使用線上工具。