> ## Documentation Index
> Fetch the complete documentation index at: https://extension.js.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Chrome、Firefox 與 Edge 瀏覽器目標指南

> 為 Chrome、Firefox 與 Edge 擴充功能開發設定瀏覽器目標。涵蓋 Extension.js 中的目標選擇、設定檔、旗標與自訂執行檔。

<AvatarBrowsers browsers={["chrome", "firefox", "edge"]} />

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

## Chrome 擴充功能開發

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

## Firefox 擴充功能開發

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

## Edge 擴充功能開發

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

## 跨瀏覽器擴充功能開發

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

## 該先讀什麼

| 需求              | 建議閱讀                                             |
| --------------- | ------------------------------------------------ |
| 快速選擇瀏覽器目標       | [可用的瀏覽器](/docs/browsers/browsers-available)      |
| 自訂啟動行為          | [瀏覽器旗標](/docs/browsers/browser-flags)            |
| 設定 Firefox 偏好   | [瀏覽器偏好設定](/docs/browsers/browser-preferences)    |
| 控制設定檔隔離         | [瀏覽器設定檔](/docs/browsers/browser-profile)         |
| 執行 Brave 或自訂執行檔 | [執行其他瀏覽器](/docs/browsers/running-other-browsers) |

## 實務目標策略

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

## 後續步驟

* 在 [跨瀏覽器相容性](/docs/features/cross-browser-compatibility) 中了解 manifest 過濾。
* 在 [瀏覽器專屬 manifest 欄位](/docs/features/browser-specific-fields) 中設定瀏覽器專屬鍵。

## 影片導覽
