extension.config.* 中設定的瀏覽器旗標,並在 dev、preview 與 start 流程中套用。
Firefox 有 firefox://flags 嗎?
Firefox 不像 Chromium 系列瀏覽器使用 chrome://flags 或 edge://flags 那樣使用 firefox://flags。Firefox 透過 about:config(偏好設定)公開執行階段的開關,並接受從命令列傳入的啟動旗標。
如果你搜尋過 firefox://flags、firefox //flags、browser://flags、mozilla://flags 或 about flags firefox,你很可能是想在擴充功能開發期間改變瀏覽器行為。在 Extension.js 中,你會從兩個地方著手:
- 使用
browserFlags來傳遞 Extension.js 啟動瀏覽器執行檔時所用的啟動旗標。 - 使用 Firefox 偏好設定 來設定原本會放在
about:config中、可重複套用的 Gecko 執行階段行為。
範本範例
new-browser-flags

運作方式
在extension.config.* 中設定旗標:
browser.<target>.browserFlagscommands.dev|start|preview.browserFlags- 可選的
excludeBrowserFlags,可移除預設旗標或使用者旗標(行為會因目標是 Chromium 或 Firefox 而不同)。
旗標功能
設定範例
Chromium 與 Firefox 的行為差異
-
Chromium 系列(
chrome、edge、chromium、chromium-based)- 從內建的預設旗標集開始,接著附加你的
browserFlags。 excludeBrowserFlags會移除符合的預設旗標(完全相符的過濾)。- Extension.js 自行管理
--load-extension=...,並會從使用者提供的旗標中過濾掉它。
- 從內建的預設旗標集開始,接著附加你的
-
Firefox/Gecko 系列(
firefox、gecko-based/firefox-based)- 使用使用者提供的
browserFlags(沒有 Chromium 那種龐大的預設旗標組)。 excludeBrowserFlags會以前綴比對的方式移除使用者旗標。
- 使用使用者提供的
Chromium 的預設旗標
Extension.js 在啟動 Chromium 系列瀏覽器時會自動套用以下旗標。若有不需要的,使用excludeBrowserFlags 移除即可。
在 Docker、持續整合(CI)或容器化環境中,Extension.js 也會自動套用
--no-sandbox
與 --disable-setuid-sandbox。支援的目標與參考
在需要時對引擎類型的目標傳入執行檔旗標:
--chromium-binary=...--gecko-binary=...
最佳實務
- 只加入必要的旗標:減少冗長的旗標清單,降低不穩定或不可攜的設定。
- 優先使用
excludeBrowserFlags,而不是整個取代預設:只移除會與你工作流程衝突的部分。 - 不要手動傳
--load-extension:Extension.js 會在內部管理擴充功能載入相關旗標。 - 針對每個瀏覽器家族驗證:在 Chromium 上有效的旗標,在 Firefox 上可能無效或被忽略。
後續步驟
- 進一步了解 瀏覽器偏好設定。
- 進一步了解 瀏覽器設定檔。
- 在 可用的瀏覽器 中選擇目標。
- 透過
extension.config.*串接旗標。 - 第一次接觸擴充功能工具鏈?先從 瀏覽器擴充功能框架 總覽開始。

