chrome.action

Opis

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

Ikony działań są wyświetlane 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 użyć interfejsu API chrome.action, określ "manifest_version" o wartości 3 i umieść 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" (razem ze swoimi 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" i "default_icon".

Pojęcia i wykorzystanie

Części interfejsu użytkownika

Ikona

Jest to główny obraz rozszerzenia na pasku narzędzi. Jest ona ustawiana przez klucz "default_icon" w kluczu "action" pliku manifestu. Ikony muszą mieć szerokość i wysokość 16 pikseli niezależnych od urządzenia (DIP).

Klucz "default_icon" to słownik rozmiarów i ścieżek obrazów. Za pomocą tych ikon Chrome wybiera skalę 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.

Aby ustawić ikonę rozszerzenia w sposób zautomatyzowany, możesz też wywołać funkcję action.setIcon(), określając inną ścieżkę obrazu lub dynamicznie generującą ikonę za pomocą elementu kanw HTML lub – w przypadku ustawienia przy użyciu skryptu usługi rozszerzenia – 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 rozszerzeń spakowanych (zainstalowanych z pliku .crx) obrazy mogą być w większości formatów, które mechanizm renderowania Blink może wyświetlić, w tym PNG, JPEG, BMP, ICO i innych. Format SVG nie jest obsługiwany. Rozszerzenia bez pakietu muszą używać obrazów PNG.

Etykietka (tytuł)

Etykietka (tytuł) pojawia się, gdy użytkownik najedzie kursorem na ikonę rozszerzenia na pasku narzędzi. Jest on też uwzględniany w tekście na potrzeby ułatwień dostępu odczytywanym przez czytniki ekranu, gdy przycisk zostanie aktywowany.

Domyślna etykietka jest ustawiana za pomocą pola "default_title" klucza "action" w manifest.json. Możesz też ustawić ją automatycznie, 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 tekst i kolor tła. Ilość miejsca jest ograniczona, więc tekst plakietki powinien składać się z maksymalnie 4 znaków.

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ą czterech liczb całkowitych z zakresu od 0 do 255, które składają się na kolor RGBA plakietki, lub ciągiem znaków z wartością kolor 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
  () => { /* ... */ },
);

Wyskakujące okienko działania wyświetla się, gdy użytkownik kliknie przycisk działania rozszerzenia na pasku narzędzi. 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.

Wyskakujące okienko 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żna go też aktualizować dynamicznie, aby wskazywał inną ścieżkę względną za pomocą metody action.setPopup().

Przykłady zastosowań

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 pominiesz właściwość tabId, ustawienie będzie traktowane jako ustawienie globalne. Ustawienia dotyczące konkretnej karty mają wyższy priorytet niż ustawienia globalne.

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ą metod action.enable() i action.disable(). Ta wartość ma wpływ tylko na to, czy do rozszerzenia zostanie wysłane wyskakujące okienko (jeśli takie istnieje) czy zdarzenie action.onClicked. Nie ma to wpływu na obecność działania 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 jego działanie. Aby zaimplementować tę funkcję w swoim rozszerzeniu, zadeklaruj wyskakujące okienko w manifest.json i określ treści, które 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>

Wstawianie skryptu treści po kliknięciu

Częstym wzorcem stosowania 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 wstawia skrypt treści na bieżącej stronie. 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ą funkcji declarativeContent

Ten przykład pokazuje, jak działająca w tle logika rozszerzenia może (a) domyślnie wyłączyć działanie i (b) użyć declarativeContent, aby umożliwić działanie tego działania na konkretnych stronach.

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

    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 91 lub nowszy

Gromadzenie ustawień określonych przez użytkownika związanych z działaniem rozszerzenia.

Właściwości

  • isOnToolbar

    boolean

    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

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

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

enable()

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

Włącza działanie dla karty. 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 wygląda tak:

    () => void

Zwroty

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

getBadgeBackgroundColor()

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

Pobiera kolor tła działania.

Parametry

Zwroty

  • 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. 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 podasz żadnej karty, zwracany będzie tekst plakietki niezwiązany z żadną kartą. 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

    funkcja optional

    Parametr callback wygląda tak:

    (result: string) => void

    • wynik

      string,

Zwroty

  • Obietnica<ciąg>

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

getBadgeTextColor()

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

Pobiera kolor tekstu działania.

Parametry

Zwroty

  • 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. 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

    funkcja optional

    Parametr callback wygląda tak:

    (result: string) => void

    • wynik

      string,

Zwroty

  • Obietnica<ciąg>

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

getTitle()

Obiecujemy
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

      string,

Zwroty

  • Obietnica<ciąg>

    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. 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 ustawienia określone przez użytkownika związane z działaniem rozszerzenia.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    (userSettings: UserSettings) => void

Zwroty

  • Promise<UserSettings>

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

isEnabled()

Obiecujemy Chrome 110 lub nowszy
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

    funkcja optional

    Parametr callback wygląda tak:

    (isEnabled: boolean) => void

    • isEnabled

      boolean

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

Zwroty

  • Promise<boolean>

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

openPopup()

Obietnica Oczekująca
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

    Opcjonalne OpenPopupOptions

    Określa opcje otwierania wyskakującego okienka.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

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

setBadgeBackgroundColor()

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

Ustawia kolor tła plakietki.

Parametry

  • szczegóły

    obiekt

    • kolor

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

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<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. 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. 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.

    • plik tekstowy,

      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

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<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. 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 plakietki.

Parametry

  • szczegóły

    obiekt

    • kolor

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

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<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. 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 oznaczona 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 jeden obraz. Pamiętaj, że „details.imageData = foo” jest odpowiednikiem „details.imageData = {'16': foo}'.

    • ścieżka

      ciąg znaków | obiekt opcjonalnie

      Względna ścieżka obrazu lub słownik {size -> względna ścieżka obrazu} wskazująca ikonę do ustawienia. Jeśli ikona jest oznaczona 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 jeden obraz. Pamiętaj, że zapis „details.path = foo” jest odpowiednikiem „details.path = {'16': foo}”.

    • tabId

      liczba opcjonalnie

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

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

setPopup()

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

Określa, że dokument HTML ma być otwierany jako wyskakujące okienko, gdy użytkownik kliknie ikonę działania.

Parametry

  • szczegóły

    obiekt

    • wyskakujące okienko

      string,

      Ścieżka względna do pliku HTML wyświetlana 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. Jest automatycznie resetowany po zamknięciu karty.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

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

setTitle()

Obiecujemy
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.

    • title

      string,

      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

  • Promise<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. Obietnica jest realizowana 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