Opis
Aby kontrolować ikonę rozszerzenia na pasku narzędzi Google Chrome, użyj interfejsu API chrome.action
.
Dostępność
Plik manifestu
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"
(wraz ze swoimi elementami podrzędnymi) jest opcjonalny. Jeśli nie jest uwzględniony, rozszerzenie nadal będzie widoczne na pasku narzędzi, aby umożliwić dostęp do menu rozszerzenia. Dlatego zalecamy, aby zawsze uwzględniać co najmniej klucze "action"
i "default_icon"
.
Pojęcia i wykorzystanie
Elementy interfejsu
Ikona
Ikona jest głównym obrazem na pasku narzędzi rozszerzenia i jest ustawiana za pomocą klucza "default_icon"
w kluczu "action"
w pliku manifestu. Ikony muszą mieć 16 pikseli na szerokość i wysokość.
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ć 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 elementu workera rozszerzenia, za pomocą 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 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. Rozpakowane rozszerzenia muszą używać obrazów PNG.
Etykieta (tytuł)
Etykieta lub tytuł wyświetla 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 podpowiedzi jest ustawiany 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 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ść 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.
Pojawiający się okno jest początkowo ustawiane przez właściwość "default_popup"
w kluczu "action"
w pliku manifest.json
. Jeśli jest obecna, 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 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 zmienić tekst plakietki na konkretnej karcie, 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ą pierwszeństwo przed ustawieniami globalnymi.
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
Przykłady poniżej pokazują typowe sposoby używania 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 jest udostępnianie głównej funkcji rozszerzenia za pomocą jego 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!');
Emulowanie działań za pomocą deklaratywnego kodu
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
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
Gromadzenie ustawień określonych przez użytkownika związanych z działaniem 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
Czy ikona działania rozszerzenia jest widoczna na pasku narzędzi najwyższego poziomu w oknach przeglądarki (czyli czy rozszerzenie zostało przez użytkownika „przypięte”).
Metody
disable()
chrome.action.disable(
tabId?: number,
callback?: function,
)
Wyłącza działanie na karcie.
Parametry
-
tabId
liczba opcjonalnie
Identyfikator karty, której działanie chcesz zmienić.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
wygląda tak:() => 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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
funkcja optional
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
funkcja optional
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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 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
function opcjonalny
Parametr
callback
ma postać:(result: string) => void
-
wynik
ciąg znaków
-
Zwroty
-
Obietnica<ciąg>
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
funkcja optional
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
funkcja optional
Parametr
callback
wygląda tak:(result: string) => void
-
wynik
ciąg znaków
-
Zwroty
-
Obietnica<ciąg>
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
funkcja optional
Parametr
callback
wygląda tak:(result: string) => void
-
wynik
ciąg znaków
-
Zwroty
-
Obietnica<ciąg>
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
getUserSettings()
chrome.action.getUserSettings(
callback?: function,
)
Zwraca ustawienia określone przez użytkownika związane z działaniem rozszerzenia.
Parametry
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
ma postać:(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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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 (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
function opcjonalny
Parametr
callback
ma postać:(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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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 wersjach Chrome od 118 do 126 jest ona dostępna tylko dla rozszerzeń zainstalowanych na podstawie zasad.
Parametry
-
Opcje
Opcjonalne OpenPopupOptions
Określa opcje otwierania wyskakującego okienka.
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
wygląda tak:() => 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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
ciąg znaków | 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 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. Automatycznie resetuje się po zamknięciu karty.
-
-
wywołanie zwrotne
funkcja optional
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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. 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ślonotabId
, atext
ma wartość null, tekst na określonej karcie zostanie wyczyszczony i domyślnie jest wyświetlany globalny tekst plakietki.
-
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
wygląda tak:() => 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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
setBadgeTextColor()
chrome.action.setBadgeTextColor(
details: object,
callback?: function,
)
Ustawia kolor tekstu 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 nieprzezroczysta czerwień 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
. Jeśli nie ustawisz tej wartości, zostanie automatycznie wybrany kolor kontrastujący z kolorem tła plakietki, aby tekst był 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. Automatycznie resetuje się po zamknięciu karty.
-
-
wywołanie zwrotne
function opcjonalny
Parametr
callback
wygląda tak:() => 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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
setIcon()
chrome.action.setIcon(
details: object,
callback?: function,
)
Ustawia ikonę działania. Ikona może być określona jako ścieżka do pliku obrazu lub jako dane pikseli z elementu na kanwie albo 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 optional
Obiekt ImageData lub słownik {size -> ImageData} reprezentującego ikonę do ustawienia. Jeśli ikona jest określona jako słownik, rzeczywisty obraz jest wybierany w zależności od gęstości pikseli ekranu. 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 odpowiednikiem „details.imageData = {'16': foo}” -
ścieżka
string | object opcjonalnie
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 rozmiarzescale
* n, gdzie n to rozmiar ikony w interfejsie. Musisz określić co najmniej 1 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. Automatycznie resetuje się po zamknięciu karty.
-
-
wywołanie zwrotne
funkcja optional
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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
setPopup()
chrome.action.setPopup(
details: object,
callback?: function,
)
Ustawia dokument HTML do otwarcia jako wyskakujące okienko, 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, który ma się wyświetlać 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. Automatycznie resetuje się 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żesz używać obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
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
-
tabulator
-
onUserSettingsChanged
chrome.action.onUserSettingsChanged.addListener(
callback: function,
)
Uruchamiane, gdy ustawienia określone przez użytkownika związane ze zmianą działania rozszerzenia.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(change: UserSettingsChange) => void
-
zmień
-