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 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" (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 na pasku narzędzi rozszerzenia. Jest ona ustawiana przez klawisz "default_icon" w klucz "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. 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ć metodę action.setIcon(), by automatycznie ustawić ikonę rozszerzenia podając inną ścieżkę obrazu lub dynamicznie generowanej ikony za pomocą obszaru roboczego HTML elementu, a w przypadku ustawienia ze skryptu service worker – poza ekranem 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 rozszerzeń spakowanych (zainstalowanych z pliku .crx) obrazy mogą być w większości formatów, które Blink mechanizm renderowania, w tym PNG, JPEG, BMP, ICO i inne. 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 w na pasku narzędzi. Jest on też uwzględniony w tekście na potrzeby ułatwień dostępu odczytywanym przez czytniki ekranu po naciśnięciu przycisku. ostrość.

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ę” — 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 kolorów plakietki może być tablicą złożoną z czterech liczb całkowitych z zakresu od 0 do 255, które składają się na kolor RGBA identyfikator lub ciąg 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 polecenia rozszerzenia na pasku narzędzi. 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.

Wyskakujące okienko jest początkowo ustawiane przez właściwość "default_popup" w kluczu "action" w parametrze manifest.json. Jeśli ta właściwość jest dostępna, powinna wskazywać ścieżkę względną w obrębie rozszerzenia. katalogu. Można ją też aktualizować dynamicznie, wskazując inną ścieżkę względną za pomocą Metoda 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 osoby: użyj właściwości tabId w metodach ustawień interfejsu API action. Aby na przykład: ustaw 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. Zależne od karty ustawienia 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ą 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

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 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 rozszerzeń jest ujawnianie ich głównej cechy za pomocą polecenia 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!');

Emuluj działania za pomocą metody declarativeContent

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

    Określa, czy w oknach przeglądarki jest widoczna ikona działania rozszerzenia paska narzędzi najwyższego poziomu (tj. informacji o tym, czy rozszerzenie zostało przypięte przez użytkownika).

Metody

disable()

Obietnica
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&lt;void&gt;

    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.

enable()

Obietnica
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&lt;void&gt;

    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.

getBadgeBackgroundColor()

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

Pobiera kolor tła działania.

Parametry

Zwroty

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

getBadgeText()

Obietnica
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

      ciąg znaków

Zwroty

  • Obietnica<ciąg>

    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.

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

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

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

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

    funkcja optional

    Parametr callback wygląda tak:

    (userSettings: UserSettings) => void

Zwroty

  • Promise&lt;UserSettings&gt;

    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.

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

    funkcja optional

    Parametr callback wygląda tak:

    (isEnabled: boolean) => void

    • isEnabled

      wartość logiczna

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

Zwroty

  • Promise&lt;boolean&gt;

    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.

openPopup()

Obietnica Chrome w wersji 127 lub nowszej
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&lt;void&gt;

    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.

setBadgeBackgroundColor()

Obietnica
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&lt;void&gt;

    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.

setBadgeText()

Obietnica
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

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise&lt;void&gt;

    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.

setBadgeTextColor()

Obietnica Chrome w wersji 110 lub nowszej
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&lt;void&gt;

    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.

setIcon()

Obietnica
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

    • Dane_obrazów

      ImageData | obiekt opcjonalny

      Obiekt ImageData lub słownik {size -> ImageData} reprezentującego 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 jeden obraz. Pamiętaj, że „details.imageData = foo” jest odpowiednikiem „details.imageData = {'16': foo}”

    • ścieżka

      string | obiekt opcjonalny

      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 jeden 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. Jest automatycznie resetowany po zamknięciu karty.

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise&lt;void&gt;

    Chrome 96 lub nowszy

    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.

setPopup()

Obietnica
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ść 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&lt;void&gt;

    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.

setTitle()

Obietnica
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

  • Promise&lt;void&gt;

    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