選項頁面

選項頁面可讓您為擴充套件定義使用者可以更改的首選項。使用者可以從瀏覽器的附加元件管理器訪問擴充套件的選項頁面。

使用者訪問頁面的方式以及它如何整合到瀏覽器的使用者介面中,因瀏覽器而異。

您可以透過呼叫 runtime.openOptionsPage() 以程式設計方式開啟該頁面。

選項頁面具有內容安全策略,該策略限制了它們可以載入資源的來源,並禁止了一些不安全的做法,例如使用 eval()。有關更多詳細資訊,請參閱 內容安全策略

指定選項頁面

要建立選項頁面,請編寫一個定義該頁面的 HTML 檔案。此頁面可以包含 CSS 和 JavaScript 檔案,就像普通網頁一樣。此頁面(來自 favourite-colour 示例)包含一個 JavaScript 檔案。

html
<!doctype html>

<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="color-scheme" content="dark light" />
  </head>

  <body>
    <form>
      <label for="color">Favorite color</label>
      <input type="text" id="color" name="color" />
      <button type="submit">Save</button>
    </form>
    <script src="options.js"></script>
  </body>
</html>

請注意使用了 <meta name="color-scheme" content="dark light">。這使得嵌入式 UI 可以根據使用者的瀏覽器偏好設定在淺色和深色主題之間自動切換。有關更多資訊,請參閱 <meta name="color-scheme">

頁面中執行的 JavaScript 可以使用擴充套件具有 許可權 的所有 WebExtension API。特別是,您可以使用 storage API 來持久化首選項。

將頁面的檔案打包到您的擴充套件中。

您還需要在 manifest.json 檔案中包含 options_ui 鍵,併為其提供頁面的 URL。

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

有關在選項頁面和後臺指令碼或內容指令碼之間 **共享選項** 的詳細資訊,請參閱 options_ui 頁面。

選項內容設計

有關如何設計選項內容以匹配 Firefox 風格的詳細資訊,請參閱 Acorn 設計系統

示例

GitHub 上的 webextensions-examples 儲存庫包含實現了選項頁面功能的 favourite-colour 示例。