action

讀取和修改由 action manifest 鍵定義的瀏覽器工具欄按鈕的屬性,並監聽其點選事件。

注意: 此 API 在 Manifest V3 或更高版本中可用。它取代了 Manifest V2 API browserAction,以及 Chrome 和 Safari 中的 pageAction

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

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

如果您指定了一個彈出視窗,當用戶單擊圖示時,該彈出視窗就會顯示並載入其內容。如果您沒有指定彈出視窗,當用戶單擊圖示時,會向您的擴充套件程式派發一個事件。

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

使用 `action` API,您可以

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

型別

action.ColorArray

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

action.ImageDataType

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

函式

action.setTitle()

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

action.getTitle()

獲取瀏覽器操作的標題。

action.setIcon()

設定瀏覽器操作的圖示。

action.setPopup()

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

action.getPopup()

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

action.openPopup()

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

action.setBadgeText()

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

action.getBadgeText()

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

action.setBadgeBackgroundColor()

設定徽章的背景顏色。

action.getBadgeBackgroundColor()

獲取徽章的背景顏色。

action.setBadgeTextColor()

設定徽章的文字顏色。

action.getBadgeTextColor()

獲取徽章的文字顏色。

action.getUserSettings()

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

action.enable()

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

action.disable()

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

action.isEnabled()

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

事件

action.onClicked

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

action.onUserSettingsChanged

當影響擴充套件程式操作的使用者指定設定發生更改時觸發。

瀏覽器相容性

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