chrome.action

Opis

Używaj interfejsu chrome.action API, aby kontrolować ikonę rozszerzenia na pasku narzędzi Google Chrome.

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

Dostępność

Chrome 88 i nowsze wersje MV3 i nowsze

Plik manifestu

Aby można było używać tego interfejsu API, następujące klucze muszą być zadeklarowane w pliku manifestu.

"action"

Aby używać interfejsu API chrome.action, określ wartość "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 z jego elementami podrzędnymi) jest opcjonalny. Gdy nie zostanie ono dodane, nadal będzie widoczne na pasku narzędzi, aby zapewnić dostęp do menu rozszerzenia. Z tego powodu zalecamy, aby zawsze zawierać co najmniej "action" i "default_icon".

Pojęcia i zastosowanie

Części interfejsu użytkownika

Ikona

Ikona to główny obraz na pasku narzędzi rozszerzenia. Jej ustawienie można ustawić klawiszem "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 ścieżek obrazów. Chrome używa tych ikon, aby wybrać skalę obrazu. Jeśli nie uda się znaleźć dopasowania ścisłego, Chrome wybiera najbliższą dostępną dostępność i skaluje ją w celu dopasowania do obrazu, co może mieć wpływ na jego jakość.

Coraz częściej używane są urządzenia o rzadszych współczynnikach skali, takich jak 1,5x czy 1,2x, dlatego zachęcamy do udostępniania ikon w wielu rozmiarach. Dzięki temu rozszerzenie będzie w przyszłości chronione przed ewentualnymi zmianami rozmiaru wyświetlanych ikon. Jeśli jednak podajesz tylko 1 rozmiar, klucz "default_icon" można też ustawić na ciąg znaków ze ścieżką do pojedynczej ikony zamiast do słownika.

Możesz też wywołać action.setIcon(), aby automatycznie ustawić ikonę rozszerzenia. W tym celu określ inną ścieżkę obrazu lub prześlij dynamicznie generowaną ikonę za pomocą elementu canvas HTML lub (w przypadku ustawienia w skrypcie service worker rozszerzenia – interfejs 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ń w pakiecie (instalowanych z pliku .crx) obrazy mogą mieć większość formatów obsługiwanych przez mechanizm 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.

Etykietka (tytuł)

Etykietka lub tytuł wyświetla się, gdy użytkownik najedzie kursorem myszy na ikonę rozszerzenia na pasku narzędzi. Jest on również zawarty w tekście dotyczącym ułatwień dostępu odczytywanym przez czytniki ekranu po naciśnięciu przycisku.

Domyślna etykietka jest ustawiana w polu "default_title" klucza "action" w interfejsie manifest.json. Możesz też ustawić ją automatycznie, wywołując action.setTitle().

Plakietka

Czynności mogą opcjonalnie powodować wyświetlanie plakietki – tekstu nałożonego na ikonę. Dzięki temu możesz zaktualizować działanie, aby wyświetlić niewielką ilość informacji o stanie rozszerzenia, np. licznik. Plakietka składa się z tekstu i koloru tła. Ze względu na ograniczoną ilość miejsca zalecamy, aby tekst plakietki miał nie więcej niż 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ściami koloru plakietki mogą być tablica 4 liczb całkowitych z zakresu od 0 do 255, które składają się na kolor RGBA plakietki, lub ciąg z wartością koloru 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, a jego rozmiar zostanie automatycznie dopasowany do treści. Wyskakujące okienko musi mieć od 25 x 25 do 800 x 600 pikseli.

Wyskakujące okienko jest wstępnie ustawiane przez właściwość "default_popup" w kluczu "action" w pliku manifest.json. Jeśli występuje, powinna wskazywać ścieżkę względną w katalogu rozszerzeń. Można ją też aktualizować dynamicznie, by wskazywała inną ścieżkę względną za pomocą metody action.setPopup().

Przypadki użycia

Stan poszczególnych kart

Działania rozszerzenia mogą mieć różny stan w zależności od karty. Aby ustawić wartość dla pojedynczej karty, użyj właściwości tabId w metodach ustawień interfejsu API action. Aby np. 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 na poszczególnych kartach mają wyższy priorytet niż ustawienia globalne.

Stan: włączono

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(). Ma to wpływ tylko na to, czy do rozszerzenia zostanie wysłane wyskakujące okienko (jeśli występują) lub zdarzenie action.onClicked. Nie ma wpływu na obecność tego 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

Często rozszerzenie wyświetla wyskakujące okienko, gdy użytkownik kliknie jego działanie. Aby zaimplementować tę funkcję w swoim rozszerzeniu, zadeklaruj wyskakujące okienko w komponencie manifest.json i określ treść, która ma się w nim wyświetlać Chrome.

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

Wstaw skrypt treści po kliknięciu

Częstym wzorcem używania rozszerzeń jest udostępnienie ich głównej funkcji za pomocą działania rozszerzenia. Poniższy przykład ilustruje ten wzorzec. Gdy użytkownik kliknie takie 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ą metody deklaratywnej

Ten przykład pokazuje, w jaki sposób logika rozszerzenia w tle może (a) domyślnie wyłączyć działanie oraz (b) użyć elementu declarativeContent, aby umożliwić działanie na określonych 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 i nowsze

Właściwości

  • windowId

    Liczba opcjonalnie

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

TabDetails

Właściwości

  • tabId

    Liczba opcjonalnie

    Identyfikator karty, której stan ma zostać objęty zapytaniem. Jeśli nie określisz żadnej karty, zwracany jest stan niezwiązany z daną kartą.

UserSettings

Chrome 91 i nowsze wersje

Kolekcja 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 pasku narzędzi najwyższego poziomu w przeglądarce (tzn. czy rozszerzenie zostało „przypięte” przez użytkownika).

Metody

disable()

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

Wyłącza działanie na karcie.

Parametry

  • tabId

    Liczba opcjonalnie

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 na karcie. Domyślnie działania są włączone.

Parametry

  • tabId

    Liczba opcjonalnie

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 tabulacji, zwracany jest tekst plakietki, który nie jest związany z konkretną kartą. Jeśli włączona jest opcja displayActionCountAsBadgeText, zwracany jest tekst zastępczy, chyba że podano uprawnienie declarativeNetRequestFeedback lub podano tekst plakietki dotyczący danej karty.

Parametry

  • szczegóły
  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: string)=>void

    • wynik

      string,

Zwroty

  • Obietnica<string>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getPopup()

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

Pobiera zestaw dokumentu HTML jako wyskakujące okienko dla tego działania.

Parametry

  • szczegóły
  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: string)=>void

    • wynik

      string,

Zwroty

  • Obietnica<string>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getTitle()

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

Pobiera nazwę działania.

Parametry

  • szczegóły
  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: string)=>void

    • wynik

      string,

Zwroty

  • Obietnica<string>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 określone przez użytkownika ustawienia związane z działaniem rozszerzenia.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    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ą dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 (lub globalnie, jeśli nie podano tabId). Działania włączone tylko za pomocą parametru declarativeContent zawsze zwracają wartość „fałsz”.

Parametry

  • tabId

    Liczba opcjonalnie

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    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ą dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

openPopup()

Obietnica Chrome 118 lub nowsza Wymaga zasad
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

Otwiera wyskakujące okienko rozszerzenia.

Parametry

  • Opcje

    Opcjonalnie OpenPopupOptions

    Określa opcje otwierania wyskakującego okienka.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 4 liczb całkowitych w zakresie od [0,255], które składają się na kolor RGBA plakietki. Na przykład nieprzezroczysta czerwień to [255, 0, 0, 255]. Może też być ciągiem znaków z wartością CSS, gdzie przezroczysta czerwień to #FF0000 lub #F00.

    • tabId

      Liczba opcjonalnie

      Ogranicza zmianę do momentu wyboru określonej karty. Karta jest automatycznie resetowana po zamknięciu karty.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 wyświetla się nad ikoną.

Parametry

  • szczegóły

    obiekt

    • tabId

      Liczba opcjonalnie

      Ogranicza zmianę do momentu wyboru określonej karty. Karta jest automatycznie resetowana po zamknięciu karty.

    • plik tekstowy,

      ciąg znaków opcjonalny

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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 4 liczb całkowitych w zakresie od [0,255], które składają się na kolor RGBA plakietki. Na przykład nieprzezroczysta czerwień to [255, 0, 0, 255]. Może też być ciągiem znaków z wartością CSS, gdzie przezroczysta czerwień to #FF0000 lub #F00. Jeśli nie ustawisz tej wartości, automatycznie zostanie wybrany kolor kontrastujący z tłem plakietki, dzięki czemu tekst będzie widoczny. Kolory z wartością alfa odpowiadającą 0 nie zostaną ustawione i zwrócą błąd.

    • tabId

      Liczba opcjonalnie

      Ogranicza zmianę do momentu wyboru określonej karty. Karta jest automatycznie resetowana po zamknięciu karty.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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

    • imageData

      ImageData|object opcjonalnie

      Obiekt ImageData lub słownik {size -> ImageData} reprezentujący ikonę do ustawienia. Jeśli ikona jest określona jako słownik, rzeczywisty obraz do użycia jest wybierany w zależności od gęstości pikseli na ekranie. Jeśli liczba pikseli obrazu, które mieszczą się w jednej jednostce obszaru na ekranie, równa się 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|obiekt opcjonalny

      Albo względna ścieżka obrazu, albo słownik {size -> preferred image path} wskazujący ikonę do ustawienia. Jeśli ikona jest określona jako słownik, rzeczywisty obraz do użycia jest wybierany w zależności od gęstości pikseli na ekranie. Jeśli liczba pikseli obrazu, które mieszczą się w jednej jednostce obszaru na ekranie, równa się 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 adres „details.path = foo” jest odpowiednikiem „details.path = {'16': foo}”.

    • tabId

      Liczba opcjonalnie

      Ogranicza zmianę do momentu wyboru określonej karty. Karta jest automatycznie resetowana po zamknięciu karty.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

setPopup()

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

Otwiera dokument HTML 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 zasada jest ustawiona na pusty ciąg (''), wyskakujące okienko nie jest wyświetlane.

    • tabId

      Liczba opcjonalnie

      Ogranicza zmianę do momentu wyboru określonej karty. Karta jest automatycznie resetowana po zamknięciu karty.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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. Informacje te pojawią się w etykietce.

Parametry

  • szczegóły

    obiekt

    • tabId

      Liczba opcjonalnie

      Ogranicza zmianę do momentu wyboru określonej karty. Karta jest automatycznie resetowana po zamknięciu karty.

    • title

      string,

      Ciąg, który ma się wyświetlić po najechaniu na nie kursorem myszy.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Zwroty

  • Promise<void>

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika 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 zostanie uruchomione, jeśli dla czynności jest dostępne wyskakujące okienko.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    (tab: tabs.Tab)=>void