實作動作

使用者點選工具列圖示 (通常是擴充功能的動作圖示) 後會發生動作。這個動作使用 Action API 叫用擴充功能功能,或開啟彈出式視窗。本頁說明如何叫用擴充功能功能。如要使用彈出式視窗,請參閱「新增彈出式視窗」。

註冊動作

如要使用 chrome.action API,請將 "action" 金鑰新增至擴充功能的資訊清單檔案。如需這個欄位的選用屬性完整說明,請參閱 chrome.action API 參考資料的資訊清單章節

manifest.json:

{
  "name": "My Awesome action Extension",
 ...
  "action": {
   ...
  }
 ...
}

對動作做出回應

註冊使用者點選動作圖示時的 onClicked 處理常式。如果已在 manifest.json 檔案中註冊彈出式視窗,就不會觸發這個事件。

service-worker.js:

chrome.action.onClicked.addListener((tab) => {
  chrome.action.setTitle({
    tabId: tab.id,
    title: `You are on tab: ${tab.id}`});
});

有條件啟用動作

chrome.declarativeContent API 可讓您根據網頁網址,或 CSS 選取器與網頁上的元素相符,啟用擴充功能的動作圖示。如果擴充功能的動作圖示處於停用狀態,圖示會顯示為灰色。如果使用者點擊已停用圖示,擴充功能的內容選單就會出現。

已停用的動作圖示
已停用的動作圖示。

動作標記

徽章是印在動作圖示上方的幾段格式文字,用於表示擴充功能狀態等項目,或是使用者必須執行特定動作。為了示範這個例子,Drink Water 範例會顯示有「ON」字樣的標記,指出使用者已成功設定鬧鐘,而擴充功能閒置時不會顯示任何內容。徽章最多可包含四個字元。

不含標記和徽章的擴充功能圖示。
沒有標記的擴充功能圖示 (左側),而且帶有標記 (右側)。

呼叫 chrome.action.setBadgeText() 以設定徽章文字,並呼叫 chrome.action.setBadgeBackgroundColor()` 來背景色彩。

service-worker.js:

chrome.action.setBadgeText({text: 'ON'});
chrome.action.setBadgeBackgroundColor({color: '#4688F1'});

工具提示

在 manifest.json 檔案 "action" 金鑰下方的 "default_title" 欄位中,註冊工具提示。

manifest.json:

{
  "name": "Tab Flipper",
 ...
  "action": {
    "default_title": "Press Ctrl(Win)/Command(Mac)+Shift+Right/Left to flip tabs"
  }
...
}

您也可以呼叫 action.setTitle()` 來設定或更新工具提示。如未設定工具提示,系統會顯示擴充功能名稱。