Opis
Aby sterować ikoną rozszerzenia na pasku narzędzi Google Chrome, użyj interfejsu API chrome.action
.
Dostępność
Plik manifestu
Aby korzystać z interfejsu chrome.action
API, określ "manifest_version"
3
i uwzględnij klucz "action"
w pliku manifestu.
{
"name": "Action Extension",
...
"action": {
"default_icon": { // optional
"16": "images/icon16.png", // optional
"24": "images/icon24.png", // optional
"32": "images/icon32.png" // optional
},
"default_title": "Click Me", // optional, shown in tooltip
"default_popup": "popup.html" // optional
},
...
}
Klucz "action"
(wraz 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"
i "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"
w 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
() => { /* ... */ },
);
Wyskakujące okienko
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()
i 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
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
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
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()
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()
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()
chrome.action.getBadgeBackgroundColor(
details: TabDetails,
callback?: function,
)
Pobiera kolor tła działania.
Parametry
-
szczegóły
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(result: ColorArray) => void
-
wynik
-
Zwroty
-
Obietnica<browserAction.ColorArray>
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()
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()
chrome.action.getBadgeTextColor(
details: TabDetails,
callback?: function,
)
Pobiera kolor tekstu działania.
Parametry
-
szczegóły
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(result: ColorArray) => void
-
wynik
-
Zwroty
-
Promise<browserAction.ColorArray>
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()
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()
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()
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
-
userSettings
-
Zwroty
-
Promise<UserSettings>
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()
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()
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()
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()
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()
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()
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 rozmiarzescale
* 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 -> 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 rozmiarzescale
* n, gdzie n to rozmiar ikony w interfejsie. Musisz określić co najmniej 1 obraz. Pamiętaj, że 'details.path = foo' jest równoważne z '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
function opcjonalny
Parametr
callback
ma postać:() => void
Zwroty
-
Obietnica<void>
Chrome 96 i nowszeObietnice 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()
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()
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
-
tabulator
-
onUserSettingsChanged
chrome.action.onUserSettingsChanged.addListener(
callback: function,
)
Wywoływane, gdy ustawienia określone przez użytkownika dotyczące działania rozszerzenia ulegną zmianie.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(change: UserSettingsChange) => void
-
zmień
-