browserAction

讀取和修改使用 browser_action manifest 鍵定義的瀏覽器工具欄按鈕的屬性,並監聽這些按鈕的點選事件。

一個 瀏覽器操作 是瀏覽器工具欄中的一個按鈕。

您可以為按鈕關聯一個彈出視窗。與網頁一樣,彈出視窗使用 HTML、CSS 和 JavaScript 來指定。在彈出視窗中執行的 JavaScript 可以訪問與您的後臺指令碼相同的 WebExtension API,但它的全域性上下文是彈出視窗本身,而不是瀏覽器中顯示的當前頁面。要影響網頁,您需要透過 訊息 與它們進行通訊。

如果您指定了一個彈出視窗,當用戶點選圖示時,它就會顯示出來——並且內容也會被載入。如果您沒有指定彈出視窗,當用戶點選圖示時,會向您的擴充套件傳送一個事件。

該按鈕還有一個上下文選單,您可以使用 `browser_action` 型別的 menus.ContextType,透過 menus API 向此選單新增專案。

使用 browserAction API,您可以

  • 使用 browserAction.onClicked 來監聽圖示的點選事件。
  • 獲取和設定圖示的屬性——圖示、標題、彈出視窗等。您可以全域性地跨所有標籤頁獲取和設定這些屬性,或者透過傳入標籤頁 ID 作為附加引數來為特定標籤頁設定。

型別

browserAction.ColorArray

一個包含四個整數的陣列,範圍為 0-255,用於定義 RGBA 顏色。

browserAction.ImageDataType

影像的畫素資料。必須是一個 ImageData 物件(例如,來自 <canvas> 元素)。

函式

browserAction.setTitle()

設定瀏覽器操作的標題。這將顯示在工具提示中。

browserAction.getTitle()

獲取瀏覽器操作的標題。

browserAction.setIcon()

設定瀏覽器操作的圖示。

browserAction.setPopup()

設定當用戶點選瀏覽器操作圖示時要開啟的 HTML 文件作為彈出視窗。

browserAction.getPopup()

獲取設定為瀏覽器操作彈出視窗的 HTML 文件。

browserAction.openPopup()

開啟瀏覽器操作的彈出視窗。

browserAction.setBadgeText()

設定瀏覽器操作的徽章文字。徽章顯示在圖示的頂部。

browserAction.getBadgeText()

獲取瀏覽器操作的徽章文字。

browserAction.setBadgeBackgroundColor()

設定徽章的背景顏色。

browserAction.getBadgeBackgroundColor()

獲取徽章的背景顏色。

browserAction.setBadgeTextColor()

設定徽章的文字顏色。

browserAction.getBadgeTextColor()

獲取徽章的文字顏色。

browserAction.getUserSettings()

獲取使用者為瀏覽器操作指定的設定。

browserAction.enable()

為某個標籤頁啟用瀏覽器操作。預設情況下,瀏覽器操作對所有標籤頁都啟用。

browserAction.disable()

停用某個標籤頁的瀏覽器操作,這意味著在該標籤頁處於活動狀態時無法單擊它。

browserAction.isEnabled()

檢查瀏覽器操作是否已啟用。

事件

browserAction.onClicked

當瀏覽器操作圖示被點選時觸發。如果瀏覽器操作有彈出視窗,則此事件不會觸發。

browserAction.onUserSettingsChanged

當影響擴充套件瀏覽器操作的使用者設定發生更改時觸發。

擴充套件程式示例

瀏覽器相容性

注意:此 API 基於 Chromium 的 chrome.browserAction API。本文件摘自 Chromium 程式碼中的 browser_action.json