chrome.action

Opis

Aby kontrolować 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 omniboksu. Po zainstalowaniu te ikony pojawią się w menu rozszerzeń (ikona puzzla). Użytkownicy mogą przypiąć ikonę rozszerzenia do paska narzędzi.

Dostępność

Chrome 88 i nowsze MV3 lub nowszy

Plik manifestu

Aby używać tego interfejsu API, należy zadeklarować te klucze w pliku manifestu.

"action"

Aby używać interfejsu API chrome.action, określ "manifest_version" o wartości 3 i uwzględnij klucz "action" w 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 ze swoimi elementami podrzędnymi) jest opcjonalny. Jeśli nie jest uwzględniony, rozszerzenie nadal będzie widoczne na pasku narzędzi, aby umożliwić dostęp do menu rozszerzenia. Dlatego zalecamy, aby zawsze uwzględniać co najmniej klucze "action""default_icon".

Pojęcia i wykorzystanie

Elementy interfejsu

Ikona

Ikona jest głównym obrazem na pasku narzędzi rozszerzenia i jest ustawiana za pomocą klucza "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 i ścieżek obrazów. Chrome używa tych ikon aby wybrać skalę obrazu. Jeśli nie znajdzie dopasowania ścisłego, Chrome wybiera najbliższy i skaluje go tak, aby pasował do obrazu, co może mieć wpływ na jego jakość.

Ponieważ urządzenia z mniej powszechnymi współczynnikami skali, np. 1,5x czy 1,2x, stają się coraz bardziej popularne popularny, zachęcamy do zastosowania różnych rozmiarów ikon. To także zabezpiecza rozszerzenie przed potencjalnymi zmianami rozmiaru wyświetlanych ikon. Pamiętaj jednak: Jeśli podajesz tylko jeden rozmiar, klucz "default_icon" można również ustawić na ze ś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 HTML canvas lub, jeśli ustawienie pochodzi z elementu workera rozszerzenia, za pomocą interfejsu API offscreen canvas.

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 skompresowanych rozszerzeń (zainstalowanych z pliku .crx) obrazy mogą być w większości formatów, które może wyświetlać silnik renderowania Blink, w tym PNG, JPEG, BMP, ICO i inne. Format SVG nie jest obsługiwany. Rozpakowane rozszerzenia muszą używać obrazów 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 podpowiedzi jest ustawiany za pomocą pola "default_title" klucza "action"manifest.json. Możesz też ustawić ją automatycznie, wywołując funkcję action.setTitle().

Plakietka

Działania mogą opcjonalnie wyświetlać „plakietkę” — fragment tekstu nałożony na ikonę. Dzięki temu możesz: zaktualizować działanie, aby wyświetlić niewielką ilość informacji o stanie rozszerzenia; takich jak licznik. Plakietka zawiera tekst i kolor tła. Ilość miejsca jest ograniczona, zalecamy, aby tekst plakietki zawierał maksymalnie 4 znaki.

Aby utworzyć plakietkę, ustaw ją automatycznie, wywołując action.setBadgeBackgroundColor() i action.setBadgeText() W pliku manifestu nie ma domyślnego ustawienia plakietki. Wartości koloru plakietki mogą być tablicą 4 liczb całkowitych z zakresu od 0 do 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. Wyskakujące okienko może zawierać dowolną treść w języku HTML i zostanie automatycznie dopasowywane do rozmiaru jej treści. Rozmiar wyskakującego okienka musi wynosić 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ć inny stan 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 działania na pasku narzędzi są włączone (klikalne) na każdej karcie. Możesz to kontrolować za pomocą Metody action.enable() i action.disable(). Ma to wpływ tylko na to, czy wyskakujące okienko (jeśli jest dostępne) Do rozszerzenia zostało wysłane zdarzenie action.onClicked. Nie ma to wpływu na działanie 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ładowy interfejs Action API ze strony chrome-extension-samples. z repozytorium.

Pokaż wyskakujące okienko

Rozszerzenie często wyświetla wyskakujące okienko, gdy użytkownik kliknie jego działanie. Do użyj go w swoim rozszerzeniu, zadeklaruj wyskakujące okienko w manifest.json i podaj w nim parametr które Chrome ma wyświetlić 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>

Wstawianie skryptu treści po kliknięciu

Typowym wzorcem jest udostępnianie głównej funkcji rozszerzenia za pomocą jego działania. Poniższy przykład ilustruje ten wzorzec. Gdy użytkownik kliknie działanie, rozszerzenie wstawia skrypt treści na bieżącej stronie. Następnie skrypt treści wyświetla alert do weryfikacji aby wszystko działało 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 dzięki funkcji logicznej działania rozszerzenia w tle mogą (a) domyślnie wyłączyć działanie oraz (b) użyj metody declarativeContent, aby umożliwić wykonywanie działań w przypadku konkretnych witryn.

// 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 w wersji 99 lub nowszej

Właściwości

  • windowId

    liczba opcjonalnie

    Identyfikator okna, w którym ma się otworzyć wyskakujące okienko działania. Jeśli nie określono inaczej, domyślnie przyjmuje się aktywne okno.

TabDetails

Właściwości

  • tabId

    liczba opcjonalnie

    Identyfikator karty, której stan ma dotyczyć zapytanie. Jeśli nie podasz żadnej karty, zwrócony zostanie stan niepowiązany z żadną kartą.

UserSettings

Chrome w wersji 91 lub nowszej

Gromadzenie ustawień określonych przez użytkownika związanych z działaniem 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 „przypięte” przez użytkownika);

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()

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

Wyłącza działanie na karcie.

Parametry

  • tabId

    liczba opcjonalnie

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

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback wygląda tak:

    () => 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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

enable()

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

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

Parametry

  • tabId

    liczba opcjonalnie

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

  • wywołanie zwrotne

    funkcja optional

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getBadgeBackgroundColor()

Obietnica
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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getBadgeText()

Obietnica
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 zasada displayActionCountAsBadgeText jest włączona, zwracany jest tekst zastępczy, o ile nie ma uprawnienia declarativeNetRequestFeedback lub nie podano tekstu plakietki odnoszącej się do danej karty.

Parametry

  • szczegóły
  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: string) => void

    • wynik

      ciąg znaków

Zwroty

  • Obietnica<ciąg>

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getBadgeTextColor()

Obietnica Chrome w wersji 110 lub nowszej
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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getPopup()

Obietnica
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

    funkcja optional

    Parametr callback wygląda tak:

    (result: string) => void

    • wynik

      ciąg znaków

Zwroty

  • Obietnica<ciąg>

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getTitle()

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

Pobiera tytuł działania.

Parametry

  • szczegóły
  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (result: string) => void

    • wynik

      ciąg znaków

Zwroty

  • Obietnica<ciąg>

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getUserSettings()

Obietnica Chrome w wersji 91 lub nowszej
chrome.action.getUserSettings(
  callback?: function,
)

Zwraca ustawienia określone przez użytkownika związane z działaniem rozszerzenia.

Parametry

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (userSettings: UserSettings) => void

Zwroty

  • Promise&lt;UserSettings&gt;

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

isEnabled()

Obietnica Chrome w wersji 110 lub nowszej
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

Wskazuje, czy działanie rozszerzenia jest włączone na karcie (czy globalnie, jeśli nie podano tabId). Działania włączone tylko przy użyciu parametru declarativeContent zawsze zwracają wartość „false” (fałsz).

Parametry

  • tabId

    liczba opcjonalnie

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

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (isEnabled: boolean) => void

    • isEnabled

      wartość logiczna

      Prawda, 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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

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

    Opcjonalne OpenPopupOptions

    Określa opcje otwierania wyskakującego okienka.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback wygląda tak:

    () => 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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

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 z czterema liczbami całkowitymi z zakresu [0,255], które składają się na kolor RGBA plakietki. Na przykład nieprzezroczysta czerwień 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

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    funkcja optional

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setBadgeText()

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

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

Parametry

  • szczegóły

    Obiekt

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Jest automatycznie resetowany po zamknięciu karty.

    • tekst

      ciąg znaków opcjonalny

      Można przekazać dowolną liczbę znaków, ale miejsce zmieści się tylko około 4. Jeśli zostanie podany pusty ciąg znaków (''), tekst plakietki zostanie wyczyszczony. Jeśli określono tabId, a text ma wartość null, tekst na określonej karcie zostanie wyczyszczony i domyślnie jest wyświetlany globalny tekst plakietki.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback wygląda tak:

    () => 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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setBadgeTextColor()

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

Ustawia kolor tekstu plakietki.

Parametry

  • szczegóły

    Obiekt

    • kolor

      string | ColorArray

      Tablica czterech liczb całkowitych z zakresu [0,255], które tworzą kolor RGBA plakietki. Na przykład nieprzezroczysta czerwień 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 odpowiadających 0 nie zostaną ustawione i zwrócą błąd.

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback wygląda tak:

    () => 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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

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 określić właściwość path lub imageData.

Parametry

  • szczegóły

    Obiekt

    • imageData

      ImageData | object optional

      Obiekt ImageData lub słownik {size -> ImageData} reprezentującego 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óre mieszczą się w jednej jednostce obszaru ekranu, wynosi scale, zostanie wybrany obraz o rozmiarze scale * n, gdzie n to rozmiar ikony w interfejsie. Musisz określić co najmniej 1 obraz. Pamiętaj, że „details.imageData = foo” jest odpowiednikiem „details.imageData = {'16': foo}”

    • ścieżka

      string | object opcjonalnie

      Względna ścieżka obrazu lub słownik {size -> względna ścieżka obrazu} wskazująca ikonę do ustawienia. Jeśli ikona jest określona jako słownik, obraz do użycia jest dobierany w zależności od gęstości pikseli na ekranie. Jeśli liczba pikseli obrazu, które mieszczą się w jednej jednostce obszaru ekranu, wynosi scale, zostanie wybrany obraz o rozmiarze scale * n, gdzie n to rozmiar ikony w interfejsie. Musisz określić co najmniej 1 obraz. Pamiętaj, że „details.path = foo” jest odpowiednikiem „details.path = {'16': foo}”

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Automatycznie resetuje się po zamknięciu karty.

  • wywołanie zwrotne

    funkcja optional

    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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setPopup()

Obietnica
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 ustawisz wartość na pusty ciąg (''), wyskakujące okienko się nie wyświetli.

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. 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. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setTitle()

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

Określa tytuł działania. To pole jest widoczne w etykietce.

Parametry

  • szczegóły

    Obiekt

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Jest automatycznie resetowany po zamknięciu karty.

    • tytuł

      ciąg znaków

      Ciąg tekstowy, który ma być wyświetlany po najechaniu na nie kursorem myszy.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowane jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.

Wydarzenia

onClicked

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

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

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (tab: tabs.Tab) => void

onUserSettingsChanged

Chrome w wersji 130 lub nowszej
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

Uruchamiane, gdy ustawienia określone przez użytkownika związane ze zmianą działania rozszerzenia.

Parametry