chrome.action

Opis

Aby sterować ikoną rozszerzenia na pasku narzędzi Google Chrome, użyj interfejsu API chrome.action.

Ikony działań wyświetlają się na pasku narzędzi przeglądarki obok skrzynki wielofunkcyjnej. Po zainstalowaniu pojawią się one w menu rozszerzeń (ikona puzzla). Użytkownicy mogą przypiąć ikonę rozszerzenia do paska narzędzi.

Dostępność

Chrome 88+ MV3+

Plik manifestu

Aby korzystać z tego interfejsu API, musisz zadeklarować te klucze w pliku manifestu.

"action"

Aby korzystać z interfejsu chrome.action API, określ "manifest_version" 3 i uwzględnij klucz "action"pliku manifestu.

{
  "name": "Action Extension",
  ...
  "action": {
    "default_icon": {              // optional
      "16": "images/icon16.png",   // optional
      "24": "images/icon24.png",   // optional
      "32": "images/icon32.png"    // optional
    },
    "default_title": "Click Me",   // optional, shown in tooltip
    "default_popup": "popup.html"  // optional
  },
  ...
}

Klucz "action" (wraz z jego elementami podrzędnymi) jest opcjonalny. Jeśli nie jest uwzględniony, rozszerzenie nadal będzie widoczne na pasku narzędzi, aby zapewnić dostęp do menu rozszerzenia. Dlatego zalecamy, aby zawsze uwzględniać co najmniej klucze "action""default_icon".

Pojęcia i zastosowanie

Elementy interfejsu

Ikona

Ikona jest głównym obrazem na pasku narzędzi rozszerzenia i jest ustawiana przez klucz "default_icon" w kluczu "action" w pliku manifestu. Ikony muszą mieć 16 pikseli na szerokość i wysokość.

Klucz "default_icon" to słownik rozmiarów do ścieżek obrazów. Chrome używa tych ikon do wyboru skali obrazu. Jeśli nie znajdzie dopasowania ścisłego, wybierze najbliższy dostępny obraz i dopasuje go do rozmiaru zdjęcia, co może wpłynąć na jego jakość.

Urządzenia z mniej popularnymi współczynnikami skalowania, takimi jak 1,5 x lub 1,2 x, stają się coraz bardziej powszechne, dlatego zalecamy udostępnianie ikon w różnych rozmiarach. Dzięki temu rozszerzenie będzie odporne na potencjalne zmiany rozmiaru ikony. Jeśli jednak podajesz tylko jeden rozmiar, klucz "default_icon" może być ustawiony jako ciąg znaków z ścieżką do pojedynczej ikony zamiast słownika.

Możesz też wywołać funkcję action.setIcon(), aby ustawić ikonę rozszerzenia programowo, podając inną ścieżkę obrazu lub podając ikonę wygenerowaną dynamicznie za pomocą elementu tła HTML. Jeśli ustawiasz tę opcję w ramach workera rozszerzenia, możesz użyć interfejsu offscreencanvas API.

const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00';  // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

W przypadku spakowanych rozszerzeń (zainstalowanych z pliku .crx) obrazy mogą być w większości formatów, które może wyświetlać silnik renderowania Blink, m.in. PNG, JPEG, BMP, ICO i inne. Format SVG nie jest obsługiwany. Rozpakowane rozszerzenia muszą zawierać obrazy w formacie PNG.

Etykieta (tytuł)

Etykieta lub tytuł wyświetla się, gdy użytkownik najedzie kursorem na ikonę rozszerzenia na pasku narzędzi. Jest on też uwzględniony w tekstach na potrzeby ułatwień dostępu odczytywanych przez czytniki ekranu, gdy przycisk jest aktywny.

Domyślny tekst podpowiadania jest ustawiany za pomocą pola "default_title" klucza "action"manifest.json. Możesz też ustawić go programowo, wywołując funkcję action.setTitle().

Plakietka

Czynności mogą opcjonalnie wyświetlać „odznakę” – krótki tekst nałożony na ikonę. Dzięki temu możesz zaktualizować działanie, aby wyświetlać niewielką ilość informacji o stanie rozszerzenia, na przykład licznik. Plakietka zawiera komponent tekstowy i kolor tła. Ponieważ miejsce jest ograniczone, zalecamy, aby tekst na plakietce zawierał maksymalnie 4 znaki.

Aby utworzyć plakietkę, skonfiguruj ją programowo, wywołując funkcje action.setBadgeBackgroundColor() i action.setBadgeText(). W pliku manifestu nie ma ustawienia domyślnego plakietki. Wartości koloru plakietki mogą być tablicą 4 liczb całkowitych z zakresu 0–255, które tworzą kolor RGBA plakietki, lub ciągiem znaków z wartością kolorów CSS.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

Gdy użytkownik kliknie przycisk działania rozszerzenia na pasku narzędzi, wyświetli się wyskakujące okienko działania. Okienko może zawierać dowolne treści w formacie HTML. Jego rozmiary zostaną automatycznie dopasowane do zawartości. Rozmiar wyskakującego okienka musi mieścić się w zakresie od 25 x 25 do 800 x 600 pikseli.

Pojawiający się okno jest początkowo ustawiane przez właściwość "default_popup" w kluczu "action" w pliku manifest.json. Jeśli jest obecna, powinna wskazywać ścieżkę względną w katalogu rozszerzeń. Może ona też być aktualizowana dynamicznie, aby wskazywać inną ścieżkę względną za pomocą metody action.setPopup().

Przypadki użycia

Stan karty

Działania rozszerzenia mogą mieć różne stany na poszczególnych kartach. Aby ustawić wartość dla pojedynczej karty, użyj właściwości tabId w metodach ustawień interfejsu API action. Aby na przykład zmienić tekst plakietki na konkretnej karcie, wykonaj te czynności:

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

Jeśli właściwość tabId zostanie pominięta, ustawienie zostanie potraktowane jako ustawienie globalne. Ustawienia dotyczące konkretnej karty mają pierwszeństwo przed ustawieniami globalnymi.

Stan włączenia

Domyślnie na każdej karcie są włączone (czyli można je kliknąć) działania paska narzędzi. Możesz zmienić tę wartość domyślną, ustawiając właściwość default_state w kluczu action pliku manifestu. Jeśli akcja default_state jest ustawiona na "disabled", jest domyślnie wyłączona i aby była klikalna, musisz ją włączyć programowo. Jeśli default_state ma wartość "enabled" (domyślnie), działanie jest domyślnie włączone i klikalne.

Stanem możesz sterować programowo za pomocą metod action.enable()action.disable(). To ustawienie ma wpływ tylko na to, czy do Twojego rozszerzenia zostanie wysłane wyskakujące okienko (jeśli występuje) lub zdarzenie action.onClicked. Nie ma wpływu na obecność działania na pasku narzędzi.

Przykłady

Przykłady poniżej pokazują typowe sposoby używania działań w rozszerzeniach. Aby wypróbować ten interfejs API, zainstaluj przykład interfejsu Action API z repozytorium chrome-extension-samples.

Pokaż wyskakujące okienko

Rozszerzenie często wyświetla wyskakujące okienko, gdy użytkownik kliknie działanie rozszerzenia. Aby zaimplementować to w swoim rozszerzeniu, zadeklaruj wyskakujące okienko w pliku manifest.json i określ zawartość, którą Chrome ma wyświetlać w wyskakującym okienku.

// manifest.json
{
  "name": "Action popup demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to view a popup",
    "default_popup": "popup.html"
  }
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      min-height: 5em;
      min-width: 10em;
      background: salmon;
    }
  </style>
</head>
<body>
  <p>Hello, world!</p>
</body>
</html>

Wstrzyknij skrypt treści po kliknięciu

Typowym wzorcem jest udostępnianie głównej funkcji rozszerzenia za pomocą jego działania. Ten przykład pokazuje ten wzór. Gdy użytkownik kliknie działanie, rozszerzenie wstrzykuje skrypt treści na bieżącą stronę. Następnie skrypt treści wyświetla alert, aby potwierdzić, że wszystko działa zgodnie z oczekiwaniami.

// manifest.json
{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
// background.js
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

Emulowanie działań za pomocą deklaratywnego kodu

Ten przykład pokazuje, jak logika tła rozszerzenia może (a) domyślnie wyłączyć działanie i (b) używać declarativeContent, aby włączyć działanie w określonych witrynach.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

Typy

OpenPopupOptions

Chrome 99+

Właściwości

  • windowId

    number opcjonalny

    Identyfikator okna, w którym ma się otworzyć wyskakujące okienko. Jeśli nie zostanie określone, domyślnie jest to aktualnie aktywne okno.

TabDetails

Właściwości

  • tabId

    number opcjonalny

    Identyfikator karty, której stan chcesz sprawdzić. Jeśli nie określisz karty, zwrócony zostanie stan nieokreślony.

UserSettings

Chrome 91 lub nowszy

Zbiór ustawień określonych przez użytkownika dotyczących działania rozszerzenia.

Właściwości

  • isOnToolbar

    wartość logiczna

    Czy ikona działania rozszerzenia jest widoczna na pasku narzędzi najwyższego poziomu w oknach przeglądarki (czyli czy rozszerzenie zostało przez użytkownika „przypięte”).

UserSettingsChange

Chrome 130+

Właściwości

  • isOnToolbar

    wartość logiczna opcjonalna

    Czy ikona działania rozszerzenia jest widoczna na pasku narzędzi najwyższego poziomu w oknach przeglądarki (czyli czy rozszerzenie zostało przez użytkownika „przypięte”).

Metody

disable()

Obietnice
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

Wyłącza działanie na karcie.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, dla której chcesz zmodyfikować działanie.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

enable()

Obietnice
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

Umożliwia działanie na karcie. Domyślnie działania są włączone.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, dla której chcesz zmodyfikować działanie.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getBadgeBackgroundColor()

Obietnice
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

Pobiera kolor tła działania.

Parametry

Zwroty

  • Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getBadgeText()

Obietnice
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

Pobiera tekst plakietki działania. Jeśli nie określisz karty, zwrócony zostanie tekst plakietki nieprzypisanej do żadnej karty. Jeśli włączona jest opcja displayActionCountAsBadgeText, zwrócony zostanie tekst zastępczy, chyba że występuje uprawnienie declarativeNetRequestFeedback lub podano tekst plakietki dla konkretnej karty.

Parametry

  • szczegóły
  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: string) => void

    • wynik

      ciąg znaków

Zwroty

  • Promise<string>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getBadgeTextColor()

Obietnice Chrome 110 i nowsze
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

Pobiera kolor tekstu działania.

Parametry

Zwroty

  • Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getPopup()

Obietnice
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

Pobiera dokument HTML ustawiony jako wyskakujące okienko dla tego działania.

Parametry

  • szczegóły
  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: string) => void

    • wynik

      ciąg znaków

Zwroty

  • Promise<string>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getTitle()

Obietnice
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

Pobiera tytuł działania.

Parametry

  • szczegóły
  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: string) => void

    • wynik

      ciąg znaków

Zwroty

  • Promise<string>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getUserSettings()

Obietnica Chrome 91 lub nowszy
chrome.action.getUserSettings(
  callback?: function,
)

Zwraca określone przez użytkownika ustawienia dotyczące działania rozszerzenia.

Parametry

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (userSettings: UserSettings) => void

Zwroty

  • Obietnice<UserSettings>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

isEnabled()

Obietnice Chrome 110 i nowsze
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

Wskazuje, czy działanie rozszerzenia jest włączone na karcie (lub globalnie, jeśli nie podano wartości tabId). Działania włączone tylko za pomocą declarativeContent zawsze zwracają wartość false.

Parametry

  • tabId

    number opcjonalny

    Identyfikator karty, której stan włączenia chcesz sprawdzić.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (isEnabled: boolean) => void

    • isEnabled

      wartość logiczna

      TRUE, jeśli działanie rozszerzenia jest włączone.

Zwroty

  • Promise<boolean>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

openPopup()

Obietnice Chrome 127 lub nowszy
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

Otwiera wyskakujące okienko rozszerzenia. W wersjach Chrome od 118 do 126 jest ona dostępna tylko dla rozszerzeń zainstalowanych na podstawie zasad.

Parametry

  • Opcje

    OpenPopupOptions opcjonalnie

    Określa opcje otwierania wyskakującego okienka.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

setBadgeBackgroundColor()

Obietnice
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

Ustawia kolor tła plakietki.

Parametry

  • szczegóły

    Obiekt

    • kolor

      ciąg znaków | ColorArray

      Tablica czterech liczb całkowitych z zakresu [0,255], które tworzą kolor RGBA plakietki. Na przykład nieprzezroczysty czerwony to [255, 0, 0, 255]. Może to być też ciąg znaków z wartością CSS, przy czym nieprzezroczysta czerwień to #FF0000 lub #F00.

    • tabId

      number opcjonalny

      Ogranicza zmianę do momentu wybrania konkretnej karty. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

setBadgeText()

Obietnice
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

Ustawia tekst plakietki dla działania. Odznaka jest wyświetlana nad ikoną.

Parametry

  • szczegóły

    Obiekt

    • tabId

      number opcjonalny

      Ogranicza zmianę do momentu wybrania konkretnej karty. Automatycznie resetuje się po zamknięciu karty.

    • tekst

      string opcjonalny

      Możesz podać dowolną liczbę znaków, ale w tym miejscu mieści się tylko około 4 znaków. Jeśli podasz pusty ciąg znaków (''), tekst plakietki zostanie wyczyszczony. Jeśli określona jest wartość tabId, a wartość text jest pusta, tekst na określonej karcie jest usuwany i zastępowany domyślnym tekstem plakietki.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

setBadgeTextColor()

Obietnice Chrome 110 i nowsze
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

Ustawia kolor tekstu na plakietce.

Parametry

  • szczegóły

    Obiekt

    • kolor

      ciąg znaków | ColorArray

      Tablica czterech liczb całkowitych z zakresu [0,255], które tworzą kolor RGBA plakietki. Na przykład nieprzezroczysty czerwony to [255, 0, 0, 255]. Może to być też ciąg znaków z wartością CSS, przy czym nieprzezroczysta czerwień to #FF0000 lub #F00. Jeśli nie ustawisz tej wartości, zostanie automatycznie wybrany kolor kontrastujący z kolorem tła plakietki, aby tekst był widoczny. Kolory o wartościach alfa równych 0 nie zostaną ustawione i zwrócą błąd.

    • tabId

      number opcjonalny

      Ogranicza zmianę do momentu wybrania konkretnej karty. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

setIcon()

Obietnice
chrome.action.setIcon(
  details: object,
  callback?: function,
)

Ustawia ikonę działania. Ikona może być określona jako ścieżka do pliku obrazu lub jako dane pikseli z elementu na kanwie albo jako słownik jednego z tych elementów. Należy podać właściwość path lub imageData.

Parametry

  • szczegóły

    Obiekt

    • imageData

      ImageData | object optional

      Obiekt ImageData lub słownik {size -> ImageData} reprezentujący ikonę do ustawienia. Jeśli ikona jest określona jako słownik, rzeczywisty obraz jest wybierany w zależności od gęstości pikseli ekranu. Jeśli liczba pikseli obrazu, która mieści się w jednej jednostce przestrzeni ekranu, wynosi scale, zostanie wybrany obraz o rozmiarze scale * n, gdzie n to rozmiar ikony w interfejsie. Musisz podać co najmniej 1 obraz. Pamiętaj, że 'details.imageData = foo' jest równoważne z 'details.imageData = {'16': foo}'.

    • ścieżka

      string | object opcjonalnie

      Ścieżka względna do obrazu lub słownik {size -> relative image path} wskazujący ikonę do ustawienia. Jeśli ikona jest określona jako słownik, rzeczywisty obraz jest wybierany w zależności od gęstości pikseli ekranu. Jeśli liczba pikseli obrazu, która mieści się w jednej jednostce przestrzeni ekranu, wynosi scale, zostanie wybrany obraz o rozmiarze scale * n, gdzie n to rozmiar ikony w interfejsie. Musisz podać co najmniej 1 obraz. Pamiętaj, że 'details.path = foo' jest równoważne z 'details.path = {'16': foo}'.

    • tabId

      number opcjonalny

      Ogranicza zmianę do momentu wybrania konkretnej karty. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 96 i nowsze

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

setPopup()

Obietnice
chrome.action.setPopup(
  details: object,
  callback?: function,
)

Ustawia dokument HTML do otwarcia jako wyskakujące okienko, gdy użytkownik kliknie ikonę działania.

Parametry

  • szczegóły

    Obiekt

    • wyskakujące okienko

      ciąg znaków

      Ścieżka względna do pliku HTML, który ma się wyświetlać w wyskakującym okienku. Jeśli jest ustawiony na pusty ciąg znaków (''), nie wyświetla się wyskakujące okienko.

    • tabId

      number opcjonalny

      Ogranicza zmianę do momentu wybrania konkretnej karty. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

setTitle()

Obietnice
chrome.action.setTitle(
  details: object,
  callback?: function,
)

Ustawia tytuł działania. Wyświetla się ona w etykiecie.

Parametry

  • szczegóły

    Obiekt

    • tabId

      number opcjonalny

      Ogranicza zmianę do momentu wybrania konkretnej karty. Automatycznie resetuje się po zamknięciu karty.

    • tytuł

      ciąg znaków

      Ciąg znaków, który powinien wyświetlać się po najechaniu kursorem na działanie.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

Wydarzenia

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

Uruchamiane po kliknięciu ikony działania. To zdarzenie nie zostanie wywołane, jeśli działanie ma wyskakujące okienko.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (tab: tabs.Tab) => void

onUserSettingsChanged

Chrome 130+
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

Wywoływane, gdy ustawienia określone przez użytkownika dotyczące działania rozszerzenia ulegną zmianie.

Parametry