瀏覽器相容性

FlowPick 各功能在不同瀏覽器中的支援情況,包括 API 相容性矩陣、降級策略和瀏覽器選擇建議。

FlowPick 在不同瀏覽器中的功能可用性取決於瀏覽器對現代 Web API 的支援程度。本文件提供詳細的功能相容性矩陣和降級策略說明。


快速檢測你的瀏覽器

在開始使用 FlowPick 之前,可以透過以下方式快速判斷你的瀏覽器是否滿足要求:

檢查項如何驗證不滿足時的替代方案
瀏覽器版本 ≥ 86網址列輸入 chrome://version 檢視升級瀏覽器到最新版
是否為 Chromium 核心檢視瀏覽器關於頁面改用 Chrome 或 Edge
File System Access API開啟 線上工具,看是否有「選擇儲存目錄」按鈕使用 Blob 下載模式(自動降級)
SharedArrayBuffer開啟 線上工具,下載一個 TS 檔案看合併速度自動降級為單執行緒 FFmpeg
如果不確定自己的瀏覽器是否相容,直接安裝 ChromeEdge 最新版即可獲得最佳體驗。詳見 安裝指南

瀏覽器支援概覽

瀏覽器最低版本擴充功能支援線上工具推薦程度
Google Chrome86+完整支援完整支援推薦
Microsoft Edge86+完整支援完整支援推薦
Brave86+完整支援完整支援推薦
Opera72+完整支援完整支援可用
360 極速瀏覽器最新版完整支援完整支援可用
QQ 瀏覽器最新版完整支援完整支援可用
Firefox待定即將推出部分支援開發中
Safari不支援不支援部分支援不推薦
360 極速瀏覽器和 QQ 瀏覽器均基於 Chromium 核心,理論上相容所有功能。但由於中國瀏覽器可能對部分 API 有額外限制,建議優先使用 Chrome 或 Edge。

功能可用性速查表

以下表格按功能維度展示各瀏覽器的支援情況,方便快速查閱:

功能ChromeEdgeFirefoxSafari相關文件
擴充功能自動偵測🚧影片嗅探
線上工具下載⚠️⚠️線上工具
目錄選擇與持久化線上工具 — 儲存目錄
串流寫入(FSA)下載引擎 — 寫入策略
StreamSaver.js⚠️⚠️下載引擎
FFmpeg WASM 多執行緒⚠️格式轉換
AES-128 解密影片嗅探 — 加密串流
批次下載佇列⚠️⚠️批次下載
桌面通知設定參考
大檔案下載 (>2GB)下載引擎

✅ 完整支援 · ⚠️ 部分支援(有降級) · 🚧 開發中 · ❌ 不支援


API 相容性矩陣

FlowPick 依賴以下瀏覽器 API。不同瀏覽器的支援情況直接影響功能可用性。

核心 API

API用途ChromeEdgeFirefoxSafari
fetch下載分片42+14+39+10.1+
WritableStream串流寫入59+79+100+14.1+
Web Crypto APIAES 解密37+79+34+10.1+
WebAssemblyFFmpeg 執行57+16+52+11+
Service WorkerStreamSaver45+79+44+11.1+
Notifications API下載通知22+14+22+7+

進階 API

API用途ChromeEdgeFirefoxSafari
File System Access API目錄選擇與持久化86+86+
SharedArrayBufferFFmpeg 多執行緒需要 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
關於 FFmpeg WASM 的載入機制、記憶體管理和效能最佳化,請參閱 格式轉換 — FFmpeg WASM 引擎。關於 TSToMP4Muxer 串流轉封裝(無需 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 官網已設定上述安全標頭。如果你自行部署,請參考 線上工具 — 技術限制 中的設定說明。

部署檢查清單

如果你自行部署 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 多執行緒
  • 所有擴充功能功能

已知問題:無

Chrome 是 FlowPick 的主要開發和測試平台,所有功能在 Chrome 上經過最充分的驗證。推薦從 Chrome 線上應用程式商店 安裝擴充功能。詳見 安裝指南

Microsoft Edge(推薦)

版本要求:86+

支援的全部功能:與 Chrome 相同(基於 Chromium)

已知問題

  • 部分企業策略可能停用 File System Access API
  • 擴充功能需要從 Edge 附加元件商店安裝
Edge 與 Chrome 共享 Chromium 核心,功能相容性完全一致。如果你的公司電腦預裝了 Edge 且無法安裝 Chrome,Edge 是完美的替代方案。詳見 安裝指南 — Edge

Firefox(開發中)

目前狀態:擴充功能版本開發中,線上工具部分可用

限制

  • 不支援 File System Access API
  • 不支援 showSaveFilePicker
  • SharedArrayBuffer 需要 COEP/COOP 標頭(Firefox 79+)
  • StreamSaver.js 支援有限

降級行為:所有下載使用 Blob 模式

Firefox 擴充功能版本正在開發中。在正式發布前,Firefox 使用者可以使用 線上工具 進行下載,但功能會受限(無目錄選擇、大檔案受 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
  • 記憶體限制更嚴格
  • 下載管理體驗不如桌面端
如果你需要在行動端下載串流媒體,建議在桌面端使用 FlowPick 下載後傳輸到行動裝置。行動端瀏覽器的記憶體和 API 限制使得大檔案下載體驗不佳。

如何選擇瀏覽器

使用場景推薦瀏覽器原因
日常使用,追求最佳體驗Google Chrome功能最完整,測試最充分
公司電腦,無法安裝 ChromeMicrosoft Edge與 Chrome 核心相同,預裝在 Windows 中
注重隱私保護Brave基於 Chromium,內建隱私保護
中國使用者,習慣中國瀏覽器360 極速瀏覽器 / QQ 瀏覽器基於 Chromium,相容性好
僅使用線上工具Chrome / Edge / Firefox線上工具對瀏覽器要求較低
需要下載超大檔案 (>2GB)Chrome / Edge需要 File System Access API 串流寫入
無論選擇哪個瀏覽器,都建議保持瀏覽器為最新版本。舊版本可能缺少關鍵 API 支援,導致功能降級或不可用。

常見問題

為什麼我的瀏覽器看不到「選擇儲存目錄」按鈕?

「選擇儲存目錄」依賴 File System Access API,需要 Chrome/Edge 86+ 版本。如果你的瀏覽器版本滿足要求但仍看不到,可能是企業策略停用了該 API。此時會自動降級為 Blob 下載模式。

FFmpeg 合併速度很慢怎麼辦?

FFmpeg 多執行緒模式需要 SharedArrayBuffer,這要求網站設定 COEP/COOP 安全標頭。如果你自行部署 FlowPick 且未設定這些標頭,FFmpeg 會自動降級為單執行緒模式,速度降低約 40-60%。

解決方案

  1. 使用 FlowPick 官網(已設定安全標頭)
  2. 選擇 TS 輸出格式,跳過 FFmpeg 合併
  3. 自行部署時設定 COEP/COOP 標頭

行動端能用 FlowPick 嗎?

行動端瀏覽器不支援擴充功能,但可以使用 線上工具。不過行動端存在記憶體限制和 API 缺失,大檔案下載體驗不佳。建議在桌面端完成下載。

Firefox 什麼時候能完整支援?

Firefox 擴充功能版本正在開發中。Firefox 對 Manifest V3 的支援仍在完善,且 File System Access API 在 Firefox 中暫無實作計畫。在擴充功能發布前,Firefox 使用者可以使用線上工具。


相關文件