action.onClicked

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

注意:此 API 在 Manifest V3 或更高版本中可用。

要定義右鍵點選操作,請使用具有“browser_action”上下文型別contextMenus API。

語法

js
browser.action.onClicked.addListener(listener)
browser.action.onClicked.removeListener(listener)
browser.action.onClicked.hasListener(listener)

事件有三個函式

addListener(listener)

向此事件新增監聽器。

removeListener(listener)

停止監聽此事件。listener 引數是要移除的監聽器。

hasListener(listener)

檢查 listener 是否已為此事件註冊。如果正在監聽,則返回 true,否則返回 false

addListener 語法

引數

監聽器

此事件發生時呼叫的函式。該函式會傳遞以下引數:

tab

tabs.Tab。點選圖示時處於活動狀態的標籤頁。

OnClickData

包含有關單擊事件資訊的物件。

modifiers

一個陣列。單擊時處於啟用狀態的鍵盤修飾鍵,可以是一個或多個:ShiftAltCommandCtrlMacCtrl

button

一個整數。指示用於單擊頁面操作圖示的按鈕:0 表示左鍵單擊或與滑鼠無關的單擊(例如來自鍵盤的單擊),1 表示中鍵或滾輪單擊。請注意,不支援右鍵單擊,因為 Firefox 在觸發此事件之前會消耗該單擊以顯示上下文選單。

示例

當用戶點選圖示時,停用該圖示在當前活動標籤頁上的功能,並記錄該標籤頁的 URL

js
browser.action.onClicked.addListener((tab) => {
  // disable the active tab
  browser.action.disable(tab.id);
  // requires the "tabs" or "activeTab" permission, or host permissions for the URL
  console.log(tab.url);
});

瀏覽器相容性

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