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-
一個
陣列。單擊時處於啟用狀態的鍵盤修飾鍵,可以是一個或多個:Shift、Alt、Command、Ctrl或MacCtrl。 -
一個
整數。指示用於單擊頁面操作圖示的按鈕: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。