options_ui

型別 Object
必填
Manifest 版本 2 或更高
示例
json
"options_ui": {
  "page": "options/options.html"
}

使用 options_ui 鍵為您的擴充套件定義一個 選項頁面。您可以使用此頁面讓使用者修改您擴充套件的設定。

使用者開啟頁面的方式取決於瀏覽器,也取決於 open_in_tab 設定。您的擴充套件也可以使用 runtime.openOptionsPage() 開啟頁面。

您可以將 options_ui 指定為打包在您的擴充套件中的 HTML 檔案的路徑。HTML 檔案可以包含 CSS 和 JavaScript 檔案,就像普通網頁一樣。但與普通頁面不同的是,JavaScript 可以使用擴充套件具有 許可權 的所有 WebExtension API。然而,它的作用域與您的後臺指令碼不同。

如果您想在 **選項頁面** 的 JavaScript 和您的 **後臺指令碼** 之間 **共享** 資料或函式,您可以透過使用 extension.getBackgroundPage() 獲取後臺指令碼的 Window 物件引用,或者透過 extension.getViews() 獲取您的擴充套件中執行的任何頁面的 Window 物件引用來直接實現。或者,您可以使用 runtime.sendMessage()runtime.onMessageruntime.connect() 在選項頁面的 JavaScript 和您的後臺指令碼之間進行通訊。後者(或 runtime.Port 的等價物)也可以用來在您的 後臺指令碼 和您的 **內容指令碼** 之間共享選項。

通常,您希望使用 storage API 儲存在選項頁面中更改的選項,可以選擇 storage.sync(如果您希望設定在使用者登入的所有瀏覽器例項之間同步),或者 storage.local(如果設定僅限於當前機器/配置檔案)。如果您這樣做,並且您的 後臺指令碼(或 內容指令碼)需要了解更改,您的指令碼可以選擇新增一個偵聽器到 storage.onChanged

語法

options_ui 鍵是一個包含以下內容的 *物件*:

名稱 型別 描述
browser_style
可選
已棄用 在 Manifest V3 中。
Boolean

可選,預設為

  • true(Manifest V2 及 Firefox 115 之前的 Manifest V3)。
  • false(Firefox 115 及之後的 Manifest V3)。

請勿將 browser_style 設定為 true:從 Firefox 118 開始,它在 Manifest V3 中不受支援。請參閱 browser_style 的 Manifest V3 遷移

在 Firefox 中,可以使用 chrome://browser/content/extension.css 或 macOS 上的 chrome://browser/content/extension-mac.css 檢視樣式表。在設定尺寸時,請注意此樣式表設定了 box-sizing: border-box(請參閱 box-sizing)。

open_in_tab
可選
Boolean
  • 如果為 false,則選項頁面將在瀏覽器的附加元件管理器中開啟。
  • 如果為 true,則選項頁面將在一個普通瀏覽器標籤頁中開啟。

預設為 false

page String

必需。

包含您的選項頁面規範的 HTML 檔案的路徑。

路徑相對於 manifest.json 本身的位置。

示例

json
"options_ui": {
  "page": "options/options.html"
}

瀏覽器相容性

另見