pageAction.setIcon()

設定頁面操作的圖示。

您可以將單個圖示指定為影像檔案的路徑或 pageAction.ImageDataType 物件。

透過提供包含多個路徑或 ImageData 物件的字典,您可以指定不同尺寸的多個圖示。這意味著圖示不必為具有不同畫素密度的裝置進行縮放。

這是一個非同步函式,返回一個 Promise

語法

js
let settingIcon = browser.pageAction.setIcon(
  details         // object
)

引數

details

object。一個包含 imageDatapath 屬性的物件,以及一個 tabId 屬性。

imageData 可選

pageAction.ImageDataTypeobject。這要麼是一個單獨的 ImageData 物件,要麼是一個字典物件。

使用字典物件指定不同尺寸的多個 ImageData 物件,這樣圖示就不必為具有不同畫素密度的裝置進行縮放。如果 imageData 是字典,則每個屬性的值是一個 ImageData 物件,其名稱是其尺寸,如下所示:

js
let settingIcon = browser.pageAction.setIcon({
  imageData: {
    16: image16,
    32: image32,
  },
});

瀏覽器將根據螢幕的畫素密度選擇要使用的影像。有關詳細資訊,請參閱 選擇圖示尺寸

path 可選

stringobject。這要麼是圖示檔案的相對路徑,要麼是一個字典物件。

使用字典物件指定不同尺寸的多個圖示檔案,這樣圖示就不必為具有不同畫素密度的裝置進行縮放。如果 path 是字典,則每個屬性的值是一個相對路徑,其名稱是其尺寸,如下所示:

js
let settingIcon = browser.pageAction.setIcon({
  path: {
    16: "path/to/image16.jpg",
    32: "path/to/image32.jpg",
  },
});

瀏覽器將根據螢幕的畫素密度選擇要使用的影像。有關詳細資訊,請參閱 選擇圖示尺寸

如果 pathnull,這將把頁面操作的圖示重置為在 page_action manifest 鍵中提供的圖示。

如果 path"",這將把圖示重置為瀏覽器的全域性預設圖示(即,如果在 page_action manifest 鍵中未提供圖示時使用的圖示)。

如果 path 未指向有效的圖示,則不會顯示任何圖示。

tabId

integer。您要設定圖示的標籤頁的 ID。

返回值

一個 Promise,一旦設定了圖示,它將以無引數的形式履行。

示例

當用戶單擊頁面操作時設定其圖示

js
browser.pageAction.onClicked.addListener((tab) => {
  browser.pageAction.setIcon({
    tabId: tab.id,
    path: "icons/icon-48.png",
  });
});

擴充套件程式示例

瀏覽器相容性

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