跳轉到主要內容
以明確的瀏覽器目標工作流程,從同一份擴充功能程式碼執行 Chrome、Edge、Firefox 與自訂執行檔。

Chrome 擴充功能開發

要開發 Chrome 擴充功能,以 chrome 為目標(預設的 Chromium 執行檔則是 chromium):extension dev --browser=chrome。Extension.js 會把擴充功能載入到全新且隔離的設定檔中,並套用一組合理的 Chrome 啟動旗標,讓重新載入行為可預期。

Firefox 擴充功能開發

要開發 Firefox 擴充功能,以 firefox 為目標:extension dev --browser=firefox。Manifest V3 的 background script 會編譯成非常駐的 scripts 陣列(Firefox 不使用 service_worker),而 Firefox 偏好設定則取代了 Chromium 的 chrome://flags 概念。請參見 瀏覽器偏好設定

Edge 擴充功能開發

要開發 Edge 擴充功能,以 edge 為目標:extension dev --browser=edge。Edge 共用 Chromium 引擎,大多數旗標與 API 都與 Chrome 相同,但 Extension.js 仍會輸出獨立的 dist/edge 產物以供散布。

跨瀏覽器擴充功能開發

要進行跨瀏覽器擴充功能開發,可在一個指令中執行多個目標(extension dev --browser=chrome,firefox),並將瀏覽器差異維持在 以瀏覽器前綴的 manifest 欄位 中。一個專案、一份 manifest.json,各瀏覽器各自的輸出。完整流程請參見 跨瀏覽器相容性

該先讀什麼

需求建議閱讀
快速選擇瀏覽器目標可用的瀏覽器
自訂啟動行為瀏覽器旗標
設定 Firefox 偏好瀏覽器偏好設定
控制設定檔隔離瀏覽器設定檔
執行 Brave 或自訂執行檔執行其他瀏覽器

實務目標策略

  1. 日常檢查使用具名目標(chromeedgefirefox)。
  2. 發布前驗證使用逗號分隔的多目標。
  3. 只有在需要自訂執行檔時才使用引擎目標。
  4. 將瀏覽器差異維持在以瀏覽器前綴的 manifest 欄位中。

後續步驟

影片導覽