使用者按一下工具列圖示 (通常稱為擴充功能的「動作圖示」) 時,就會發生動作。動作使用 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 選取器,啟用擴充功能的動作圖示;當 CSS 選取器與網頁上的元素相符時,就能啟用擴充功能的動作圖示。如果擴充功能的動作圖示停用,該圖示會顯示為灰色。如果使用者按一下已停用的圖示,就會顯示擴充功能的內容選單。
動作標記
標記是在動作圖示上方放置一些經過格式化的文字,用於表示擴充功能狀態或使用者必須執行的操作。為示範這項做法,水槽水樣本會顯示一個標示為「ON」的標記,表示使用者已成功設定鬧鐘,而且擴充功能在閒置時不會顯示任何內容。徽章的長度上限為 4 個字元。
呼叫 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()
` 來設定或更新工具提示。如未設定工具提示,則系統會顯示擴充功能的名稱。