refresh date: 2026-09-25 robots: noindex
Opis
Za pomocą działań przeglądarki możesz umieszczać ikony na głównym pasku narzędzi Google Chrome, po prawej stronie paska adresu. Oprócz ikony działanie przeglądarki może mieć etykietkę, plakietkę i wyskakujące okienko.
Dostępność
Na ilustracji poniżej wielokolorowy kwadrat po prawej stronie paska adresu to ikona działania przeglądarki. Pod ikoną pojawi się wyskakujące okienko.

Jeśli chcesz utworzyć ikonę, która nie jest zawsze aktywna, użyj działania na stronie zamiast działania przeglądarki.
Plik manifestu
Zarejestruj działanie przeglądarki w pliku manifestu rozszerzenia w ten sposób:
{
"name": "My extension",
...
"browser_action": {
"default_icon": { // optional
"16": "images/icon16.png", // optional
"24": "images/icon24.png", // optional
"32": "images/icon32.png" // optional
},
"default_title": "Google Mail", // optional, shown in tooltip
"default_popup": "popup.html" // optional
},
...
}
Możesz podać dowolny rozmiar ikony do użycia w Chrome, a Chrome wybierze najbliższy rozmiar i skaluje go do odpowiedniego rozmiaru, aby wypełnić przestrzeń 16 dip. Jeśli jednak dokładny rozmiar nie zostanie podany, skalowanie może spowodować utratę szczegółów lub rozmycie ikony.
Urządzenia z mniej popularnymi współczynnikami skalowania, takimi jak 1,5x czy 1,2x, stają się coraz powszechniejsze, dlatego zalecamy podawanie ikon w różnych rozmiarach. Dzięki temu, jeśli rozmiar wyświetlania ikony kiedykolwiek się zmieni, nie musisz wykonywać żadnych dodatkowych czynności, aby udostępnić inne ikony.
Stara składnia rejestrowania domyślnej ikony jest nadal obsługiwana:
{
"name": "My extension",
...
"browser_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
Elementy interfejsu
Działanie przeglądarki może mieć ikonę, etykietkę, plakietkę i wyskakujące okienko.
Ikona
Ikony działania przeglądarki w Chrome mają szerokość i wysokość 16 dips (pikseli niezależnych od urządzenia). Większe ikony są dopasowywane, ale aby uzyskać najlepsze wyniki, używaj kwadratowej ikony o rozmiarze 16 dipów.
Ikonę możesz ustawić na 2 sposoby: używając obrazu statycznego lub elementu canvas HTML5. W przypadku prostych aplikacji łatwiej jest używać obrazów statycznych, ale za pomocą elementu canvas możesz tworzyć bardziej dynamiczne interfejsy, np. płynne animacje.
Obrazy statyczne mogą być w dowolnym formacie obsługiwanym przez WebKit, w tym BMP, GIF, ICO, JPEG lub PNG. W przypadku rozszerzeń bez pakietu obrazy muszą być w formacie PNG.
Aby ustawić ikonę, użyj pola default_icon w sekcji browser_action w pliku manifestu lub wywołaj metodę browserAction.setIcon.
Aby prawidłowo wyświetlać ikonę, gdy gęstość pikseli ekranu (stosunek size_in_pixel / size_in_dip) jest inna niż 1, ikonę można zdefiniować jako zestaw obrazów o różnych rozmiarach. Rzeczywisty obraz do wyświetlenia zostanie wybrany z zestawu tak, aby jak najlepiej pasował do rozmiaru piksela 16 dip. Zestaw ikon może zawierać specyfikacje ikon o dowolnym rozmiarze, a Chrome wybierze najbardziej odpowiednią.
Etykietka
Aby ustawić etykietkę, użyj pola default_title w sekcji browser_action w pliku manifestu lub wywołaj metodę browserAction.setTitle. W polu default_title możesz podać ciągi znaków w różnych językach. Więcej informacji znajdziesz w artykule o internacjonalizacji.
Plakietka
Działania przeglądarki mogą opcjonalnie wyświetlać plakietkę, czyli fragment tekstu nałożony na ikonę. Odznaki ułatwiają aktualizowanie działania przeglądarki, aby wyświetlać niewielką ilość informacji o stanie rozszerzenia.
Odznaka ma ograniczoną ilość miejsca, więc powinna zawierać maksymalnie 4 znaki.
Ustaw tekst i kolor plakietki, używając odpowiednio browserAction.setBadgeText i browserAction.setBadgeBackgroundColor.
Wyskakujące okienko
Jeśli działanie przeglądarki ma wyskakujące okienko, pojawi się ono, gdy użytkownik kliknie ikonę rozszerzenia. Wyskakujące okienko może zawierać dowolne treści HTML i jest automatycznie dopasowywane do ich rozmiaru. Wyskakujące okienko nie może być mniejsze niż 25 x 25 pikseli ani większe niż 800 x 600 pikseli.
Aby dodać wyskakujące okienko do działania przeglądarki, utwórz plik HTML z zawartością wyskakującego okienka. Określ plik HTML w polu default_popup w sekcji browser_action w manifeście lub wywołaj metodę browserAction.setPopup.
Wskazówki
Aby uzyskać najlepszy efekt wizualny, postępuj zgodnie z tymi wskazówkami:
- Używaj działań przeglądarki w przypadku funkcji, które mają sens na większości stron.
- Nie używaj działań przeglądarki w przypadku funkcji, które mają sens tylko na kilku stronach. Zamiast tego użyj parametru page actions.
- Używaj dużych, kolorowych ikon, które w pełni wykorzystują przestrzeń 16 x 16 dp. Ikony działania przeglądarki powinny być nieco większe i bardziej wyraziste niż ikony działania na stronie.
- Nie próbuj naśladować monochromatycznej ikony menu Google Chrome. Nie sprawdza się to w przypadku motywów, a poza tym rozszerzenia powinny się nieco wyróżniać.
- Używaj przezroczystości alfa, aby dodać do ikony miękkie krawędzie. Wiele osób używa motywów, więc ikona powinna dobrze wyglądać na różnych kolorach tła.
- Nie animuj ikony w sposób ciągły. To po prostu irytujące.
Przykłady
Proste przykłady użycia działań przeglądarki znajdziesz w katalogu examples/api/browserAction. Więcej przykładów i pomoc w wyświetlaniu kodu źródłowego znajdziesz w sekcji Przykłady.
Typy
TabDetails
Właściwości
-
tabId
number opcjonalny
Identyfikator karty, której stan ma zostać sprawdzony. Jeśli nie określono karty, zwracany jest stan niezwiązany z kartą.
Metody
disable()
chrome.browserAction.disable(
tabId?: number,
callback?: function,
): Promise<void>
Wyłącza działanie przeglądarki na karcie.
Parametry
-
tabId
number opcjonalny
Identyfikator karty, dla której chcesz zmodyfikować działanie przeglądarki.
-
callback
funkcja opcjonalna
Chrome 67 lub nowszaParametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
enable()
chrome.browserAction.enable(
tabId?: number,
callback?: function,
): Promise<void>
Włącza działanie przeglądarki na karcie. Domyślnie jest włączona.
Parametry
-
tabId
number opcjonalny
Identyfikator karty, dla której chcesz zmodyfikować działanie przeglądarki.
-
callback
funkcja opcjonalna
Chrome 67 lub nowszaParametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getBadgeBackgroundColor()
chrome.browserAction.getBadgeBackgroundColor(
details: TabDetails,
callback?: function,
): Promise<extensionTypes.ColorArray>
Pobiera kolor tła działania przeglądarki.
Parametry
-
szczegóły
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: ColorArray) => void
-
wynik
-
Zwroty
-
Promise<extensionTypes.ColorArray>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getBadgeText()
chrome.browserAction.getBadgeText(
details: TabDetails,
callback?: function,
): Promise<string>
Pobiera tekst plakietki działania przeglądarki. Jeśli nie określono karty, zwracany jest tekst plakietki niezwiązany z kartą.
Parametry
-
szczegóły
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: string) => void
-
wynik
tekst
-
Zwroty
-
Promise<string>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getPopup()
chrome.browserAction.getPopup(
details: TabDetails,
callback?: function,
): Promise<string>
Pobiera dokument HTML, który jest ustawiony jako wyskakujące okienko dla tego działania przeglądarki.
Parametry
-
szczegóły
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: string) => void
-
wynik
tekst
-
Zwroty
-
Promise<string>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getTitle()
chrome.browserAction.getTitle(
details: TabDetails,
callback?: function,
): Promise<string>
Pobiera tytuł działania przeglądarki.
Parametry
-
szczegóły
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: string) => void
-
wynik
tekst
-
Zwroty
-
Promise<string>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setBadgeBackgroundColor()
chrome.browserAction.setBadgeBackgroundColor(
details: object,
callback?: function,
): Promise<void>
Ustawia kolor tła plakietki.
Parametry
-
szczegóły
obiekt
-
kolor
string | ColorArray
Tablica 4 liczb całkowitych z zakresu 0–255, które składają się na kolor RGBA plakietki. Może to być też ciąg znaków z wartością koloru szesnastkowego CSS, np.
#FF0000lub#F00(czerwony). Renderuje kolory z pełną nieprzezroczystością. -
tabId
number opcjonalny
Ogranicza zmianę do sytuacji, w której wybrana jest konkretna karta. Automatycznie resetuje się po zamknięciu karty.
-
-
callback
funkcja opcjonalna
Chrome 67 lub nowszaParametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setBadgeText()
chrome.browserAction.setBadgeText(
details: object,
callback?: function,
): Promise<void>
Ustawia tekst plakietki działania przeglądarki. Plakietka jest wyświetlana nad ikoną.
Parametry
-
szczegóły
obiekt
-
tabId
number opcjonalny
Ogranicza zmianę do sytuacji, w której wybrana jest konkretna karta. Automatycznie resetuje się po zamknięciu karty.
-
tekst
ciąg znaków opcjonalny
Możesz przekazać dowolną liczbę znaków, ale w przestrzeni zmieszczą się tylko około 4. Jeśli zostanie przekazany pusty ciąg znaków (
''), tekst plakietki zostanie wyczyszczony. Jeśli podasz wartośćtabId, atextbędzie mieć wartość null, tekst na określonej karcie zostanie wyczyszczony i domyślnie będzie zawierać tekst globalnej plakietki.
-
-
callback
funkcja opcjonalna
Chrome 67 lub nowszaParametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setIcon()
chrome.browserAction.setIcon(
details: object,
callback?: function,
): Promise<void>
Ustawia ikonę działania przeglądarki. Ikona może być określona jako ścieżka do pliku obrazu, dane pikseli z elementu canvas lub słownik zawierający jedną z tych wartości. Należy określić właściwość path lub imageData.
Parametry
-
szczegóły
obiekt
-
imageData
ImageData | object opcjonalny
Obiekt ImageData lub słownik {size -> ImageData} reprezentujący ikonę do ustawienia. Jeśli ikona jest określona jako słownik, użyty obraz jest wybierany w zależności od gęstości pikseli ekranu. Jeśli liczba pikseli obrazu mieszczących się w jednej jednostce przestrzeni ekranu wynosi
scale, wybierany jest 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ównoznaczne z „details.imageData = {'16': foo}”. -
ścieżka
string | object opcjonalny
Względna ścieżka do obrazu lub słownik {rozmiar –> względna ścieżka do obrazu} wskazujący ikonę do ustawienia. Jeśli ikona jest określona jako słownik, użyty obraz jest wybierany w zależności od gęstości pikseli ekranu. Jeśli liczba pikseli obrazu mieszczących się w jednej jednostce przestrzeni ekranu wynosi
scale, wybierany jest 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 „details.path = {'16': foo}”. -
tabId
number opcjonalny
Ogranicza zmianę do sytuacji, w której wybrana jest konkretna karta. Automatycznie resetuje się po zamknięciu karty.
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 116 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setPopup()
chrome.browserAction.setPopup(
details: object,
callback?: function,
): Promise<void>
Ustawia dokument HTML, który ma być otwierany jako wyskakujące okienko, gdy użytkownik kliknie ikonę działania przeglądarki.
Parametry
-
szczegóły
obiekt
-
wyskakujące okienko
tekst
Ścieżka względna do pliku HTML, który ma się wyświetlać w wyskakującym okienku. Jeśli zasada ma wartość pustego ciągu znaków (
''), nie będzie się wyświetlać żadne wyskakujące okienko. -
tabId
number opcjonalny
Ogranicza zmianę do sytuacji, w której wybrana jest konkretna karta. Automatycznie resetuje się po zamknięciu karty.
-
-
callback
funkcja opcjonalna
Chrome 67 lub nowszaParametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
setTitle()
chrome.browserAction.setTitle(
details: object,
callback?: function,
): Promise<void>
Ustawia tytuł działania przeglądarki. Ten tytuł pojawia się w etykiecie.
Parametry
-
szczegóły
obiekt
-
tabId
number opcjonalny
Ogranicza zmianę do sytuacji, w której wybrana jest konkretna karta. Automatycznie resetuje się po zamknięciu karty.
-
tytuł
tekst
Ciąg znaków, który ma być wyświetlany w działaniu przeglądarki po najechaniu na niego kursorem myszy.
-
-
callback
funkcja opcjonalna
Chrome 67 lub nowszaParametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 88 lub nowszaObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onClicked
chrome.browserAction.onClicked.addListener(
callback: function,
)
Wywoływane po kliknięciu ikony działania przeglądarki. Nie jest uruchamiane, jeśli działanie przeglądarki ma wyskakujące okienko.