位址列按鈕

通常稱為 頁面操作 按鈕,此使用者介面選項是一個新增到瀏覽器位址列的按鈕。使用者點選該按鈕以與擴充套件程式進行互動。

Page action button is an icon of a dog paw print

頁面操作和瀏覽器操作

位址列按鈕(或頁面操作)與工具欄按鈕(或瀏覽器操作)類似。

區別在於

  • 按鈕的位置

    • 頁面操作顯示在瀏覽器位址列內部。
    • 瀏覽器操作顯示在位址列外部,位於瀏覽器工具欄中。
  • 按鈕的可見性

    • 頁面操作預設隱藏(儘管可以透過 show_matcheshide_matches manifest 鍵 屬性更改此預設設定),您可以透過呼叫 pageAction.show()pageAction.hide() 來顯示或隱藏特定標籤頁上的它。
    • 瀏覽器操作始終顯示。

當操作與當前頁面相關時,請使用頁面操作。當操作與整個瀏覽器或多個頁面相關時,請使用瀏覽器操作。例如:

型別 書籤操作 內容操作 標籤頁操作
頁面操作 書籤此頁面 Reddit 增強 傳送標籤頁
瀏覽器操作 顯示所有書籤 啟用廣告攔截 同步所有開啟的標籤頁

指定頁面操作

您可以使用 manifest.json 中的 page_action 鍵來定義頁面操作的屬性。

json
"page_action": {
  "default_icon": {
    "19": "button/geo-19.png",
    "38": "button/geo-38.png"
  },
  "default_title": "Whereami?"
}

唯一必需的鍵是 default_icon

有兩種方法可以指定頁面操作:帶彈出視窗或不帶彈出視窗。

  • 不帶彈出視窗: 當用戶點選按鈕時,會向擴充套件程式分派一個事件,擴充套件程式使用 pageAction.onClicked 來監聽該事件。

    js
    browser.pageAction.onClicked.addListener(handleClick);
    
  • 帶彈出視窗: 不會分派 click 事件。相反,當用戶點選按鈕時,會顯示彈出視窗。然後使用者與彈出視窗進行互動。當用戶點選彈出視窗外部時,它會自動關閉。有關建立和管理彈出視窗的更多詳細資訊,請參閱 彈出視窗 文章。

請注意,您的擴充套件程式只能有一個頁面操作。

您可以使用 pageAction API 以程式設計方式更改頁面操作的任何屬性。

圖示

有關如何建立要與頁面操作一起使用的圖示的詳細資訊,請參閱 Acorn 設計系統 文件中的 圖示設計

示例

GitHub 上的 webextensions-examples 儲存庫包含 chill-out 示例,該示例實現了一個不帶彈出視窗的頁面操作。