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

Dostępność

Chrome 88 lub nowszy, MV3 lub nowszy

Plik manifestu

Aby używać tego interfejsu API, należy 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 rozszerzenie nie zostanie dodane, będzie nadal widoczne na pasku narzędzi, co umożliwi 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ć szerokość i wysokość 16 pikseli niezależnych od urządzenia (DIP).

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, Chrome wybiera najbliższą dostępną wartość i przeskaluje je, by pasowało do obrazu, co może mieć wpływ na jego jakość.

Urządzenia z mniej powszechnymi współczynnikami skali, np. 1,5x czy 1,2x, stają się coraz bardziej popularne, dlatego zachęcamy do utworzenia ikon w kilku rozmiarach. Zapewnia to również rozszerzeniu na przyszłość przed potencjalnymi zmianami rozmiaru wyświetlanych ikon. Jeśli jednak podajesz tylko 1 rozmiar, klucz "default_icon" można też ustawić jako ciąg ze ścieżką do pojedynczej ikony zamiast do 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 workera rozszerzenia, interfejsu offscreen canvas 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 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. Rozszerzenia bez pakietu muszą używać obrazów PNG.

Etykieta (tytuł)

Etykietka (tytuł) pojawia 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

Działania mogą opcjonalnie wyświetlać „plakietkę” – nałożoną na ikonę tekstu kropkę tekstu. Dzięki temu możesz zaktualizować działanie tak, aby wyświetlać niewielką ilość informacji o stanie rozszerzenia, np. licznik. Plakietka zawiera komponent tekstowy i kolor tła. Ilość miejsca jest ograniczona, więc tekst plakietki powinien składać się z maksymalnie 4 znaków.

Aby utworzyć plakietkę, skonfiguruj ją programowo, wywołując funkcje 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ść HTML i będzie automatycznie dostosowywane do jego zawartoś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 ta właściwość jest dostępna, 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 według 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 ustawić tekst plakietki dla konkretnej karty, 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ą wyższy priorytet niż ustawienia globalne.

Stan włączenia

Domyślnie na każdej karcie są włączone (czyli można je kliknąć) działania paska narzędzi. Możesz to kontrolować 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ść tej czynności na pasku narzędzi.

Przykłady

Poniższe przykłady pokazują kilka typowych sposobów wykorzystania działań w rozszerzeniach. Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs 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

Częstym wzorcem rozszerzeń jest ujawnianie ich głównej funkcji za pomocą działania rozszerzenia. Poniższy przykład ilustruje ten wzorzec. Gdy użytkownik kliknie to działanie, rozszerzenie doda skrypt treści do bieżącej strony. Następnie skrypt wyświetla alert, aby sprawdzić, czy 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!');

Emuluj działania za pomocą metody declarativeContent

Ten przykład pokazuje, jak logika tła rozszerzenia może (a) domyślnie wyłączyć działanie i (b) użyć deklaratywnegoContent, aby włączyć działanie w przypadku określonych 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 99 lub nowszy

Właściwości

  • windowId

    number opcjonalny

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

TabDetails

Właściwości

  • tabId

    number opcjonalny

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

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 „przypięte” przez użytkownika).

UserSettingsChange

Chrome 130 lub nowszy

Właściwości

  • isOnToolbar

    Wartość logiczna opcjonalna

    Określa, czy ikona działania rozszerzenia jest widoczna na górnym pasku narzędzi okna przeglądarki (tzn. czy rozszerzenie zostało „przypięte” przez użytkownika).

Metody

disable()

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

Wyłącza działanie dla karty.

Parametry

  • tabId

    liczba opcjonalnie

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

  • 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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

enable()

Obietnice
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

    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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getBadgeText()

Obiecujemy
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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getBadgeTextColor()

Obietnice Chrome 110 lub nowszy
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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getPopup()

Obiecujemy
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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getUserSettings()

Obiecujemy 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 wygląda tak:

    (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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

isEnabled()

Obietnice Chrome 110 lub nowszy
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 przy użyciu parametru declarativeContent zawsze zwracają wartość „false” (fałsz).

Parametry

  • tabId

    liczba opcjonalnie

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

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback wygląda tak:

    (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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

openPopup()

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

Otwiera wyskakujące okienko rozszerzenia. W Chrome od wersji 118 do Chrome 126 ta funkcja jest dostępna tylko w przypadku rozszerzeń zainstalowanych zgodnie z zasadami.

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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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

      string | 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

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Jest automatycznie resetowany 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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setBadgeText()

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

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

Parametry

  • szczegóły

    Obiekt

    • tabId

      liczba opcjonalnie

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

    • tekst

      ciąg znaków opcjonalny

      Możesz podać dowolną liczbę znaków, ale w polu 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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setBadgeTextColor()

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

Ustawia kolor tekstu na plakietce.

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 nieprzezroczysty czerwony to [255, 0, 0, 255]. Może to być też ciąg z wartością CSS, przy czym nieprzezroczysta czerwień to #FF0000 lub #F00. Jeśli ta wartość nie zostanie ustawiona, kolor zostanie wybrany automatycznie, który będzie kontrastował z tłem plakietki, a tekst będzie 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. Jest automatycznie resetowany 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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setIcon()

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

Ustawia ikonę działania. Ikonę można określić jako ścieżkę do pliku graficznego, jako dane piksela z elementu canvas lub jako słownik jednego z tych elementów. Należy określić właściwość path lub imageData.

Parametry

  • szczegóły

    Obiekt

    • imageData

      ImageData | obiekt opcjonalnie

      Obiekt ImageData lub słownik {size -> ImageData} reprezentujący 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.imageData = foo' jest równoważne z 'details.imageData = {'16': foo}'.

    • ścieżka

      ciąg znaków | obiekt opcjonalnie

      Ścieżka względna do obrazu lub słownik {size -&gt; relative image path} wskazujący 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 &#39;details.path = foo&#39; jest równoważne z &#39;details.path = {&#39;16&#39;: foo}&#39;.

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Jest automatycznie resetowany 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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setPopup()

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

Konfiguruje otwieranie dokumentu HTML jako wyskakującego okienka, 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 wyświetlana w wyskakującym okienku. Jeśli ustawisz wartość pustego ciągu (''), wyskakujące okienko się nie wyświetli.

    • tabId

      liczba opcjonalnie

      Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Jest automatycznie resetowany 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żna użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obiet na obietnice zwraca ten sam typ, 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 uruchomi się, jeśli działanie ma wyskakujące okienko.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    (tab: tabs.Tab) => void

onUserSettingsChanged

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

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

Parametry