Opis
Użyj działań przeglądarki, aby umieścić ikony na głównym pasku narzędzi Google Chrome, po prawej stronie paska adresu. Oprócz ikony działanie w przeglądarce może mieć etykietkę, plakietkę i wyskakujące okienko.
Dostępność
Na tej ilustracji wielokolorowy kwadrat po prawej stronie paska adresu jest ikoną działanie przeglądarki. Pod ikoną znajduje się wyskakujące okienko.
Jeśli chcesz utworzyć ikonę, która nie zawsze jest aktywna, użyj działania na stronie, a nie przeglądarki. działania.
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ć dowolną ikonę rozmiaru do użycia w Chrome, a Chrome wybierze najbliższą z nich i dostosuje skalowanie do odpowiednich 16 pikseli. Jeśli jednak nie zostanie podany dokładny rozmiar, Może to spowodować utratę szczegółów lub rozmycie obrazu.
Urządzenia o mniej powszechnych współczynnikach skali, takich jak 1,5x czy 1,2x, stają się coraz bardziej popularne, zachęca do stosowania ikon w różnych rozmiarach. Zapewnia to też, że rozmiar ikony się zmienia, nie musisz nic więcej robić, aby wybrać inne ikony.
Nadal obsługiwana jest stara składnia rejestrowania ikony domyślnej:
{
"name": "My extension",
...
"browser_action": {
...
"default_icon": "images/icon32.png" // optional
// equivalent to "default_icon": { "32": "images/icon32.png" }
},
...
}
Części interfejsu użytkownika
Działanie w przeglądarce może mieć ikonę, etykietkę, plakietkę i wyskakujące okienko.
Ikona
Ikony działań w przeglądarce w Chrome mają 16 spadków (piksele niezależne od urządzenia) o szerokości i wysokiej wysokości. Większy rozmiar ikon jest zmieniany, aby dopasować, ale dla uzyskania najlepszych wyników należy użyć kwadratowej ikony o długości 16 pikseli.
Możesz ustawić ikonę na 2 sposoby: używając obrazu statycznego lub elementu canvas HTML5. Zastosowanie statyczne obrazy są łatwiejsze w prostych aplikacjach, ale można też tworzyć bardziej dynamiczne interfejsy użytkownika, np. gdy użyjesz elementu canvas.
Obrazy statyczne mogą mieć dowolny format obsługiwany przez WebKit, w tym BMP, GIF, ICO, JPEG lub PNG. Dla: rozszerzeń, obrazy muszą być w formacie PNG.
Aby ustawić ikonę, użyj pola default_icon parametru default_icon w manifestu lub wywołaj
metody browserAction.setIcon
.
Aby ikona wyświetlała się prawidłowo, gdy gęstość pikseli na ekranie (współczynnik size_in_pixel / size_in_dip
) to
innej niż 1, ikona może być zdefiniowana jako zbiór obrazów o różnych rozmiarach. Rzeczywisty obraz do
Wyświetlacz zostanie wybrany z zestawu, który najlepiej pasuje do rozmiaru 16 pikseli. Zestaw ikon może zawierać
dowolną specyfikację rozmiaru, a Chrome wybierze tę najbardziej odpowiednią.
Etykietka
Aby ustawić etykietkę, użyj pola default_title parametru browser_action w pliku manifest lub
wywoływać metodę browserAction.setTitle
. W przypadku parametru
default_title; Szczegóły znajdziesz w artykule Internacjonalizacja.
Plakietka
Działania w przeglądarce mogą opcjonalnie wyświetlać plakietkę, czyli fragment tekstu nałożony na ikonę. Plakietki ułatwiają aktualizowanie działania przeglądarki, aby wyświetlić niewielką ilość informacji na temat o jego stanie.
Plakietka ma ograniczoną ilość miejsca, więc powinna mieć maksymalnie 4 znaki.
Ustaw tekst i kolor plakietki za pomocą: browserAction.setBadgeText
oraz
browserAction.setBadgeBackgroundColor
.
Wyskakujące okienko
Jeśli działanie przeglądarki zawiera wyskakujące okienko, pojawia się, gdy użytkownik kliknie ikonę rozszerzenia. Wyskakujące okienko może zawierać dowolną treść w języku HTML, a jego rozmiar jest automatycznie dopasowywany do zawartości. Wyskakujące okienko nie może być mniejsze niż 25 x 25 ani większe niż 800 x 600.
Aby dodać wyskakujące okienko do działania przeglądarki, utwórz plik HTML z zawartością tego okienka. Podaj wartość
pliku HTML w polu default_popup parametru browser_action w pliku manifest lub wywołaj metodę
Metoda browserAction.setPopup
.
Wskazówki
Aby uzyskać najlepszy efekt wizualny, stosuj się do tych wskazówek:
- Używaj działań w przeglądarce, aby korzystać z funkcji, które działają na większości stron.
- Nie używaj działań przeglądarki do obsługi funkcji, które mają sens tylko na kilku stronach. Użyj strony działań.
- Używaj dużych, kolorowych ikon, które najlepiej wykorzystują rozmiar 16 x 16 pikseli. Ikony czynności przeglądarki wydają się większe i większe niż ikony działań na stronie.
- Nie próbuj naśladować ikony menu monochromatycznego Google Chrome. Nie działa to dobrze motywy, mimo to rozszerzenia powinny się nieco wyróżnić.
- Używaj przezroczystości alfa, aby dodać do ikony miękkie krawędzie. Wiele osób korzysta z motywów, ikona powinna wyglądać ładnie na różnych kolorach tła.
- Nie stale animuj ikony. To tylko irytujące.
Przykłady
Proste przykłady użycia działań przeglądarki znajdziesz tutaj: examples/api/browserAction. katalogu. Inne przykłady i pomoc w wyświetlaniu kodu źródłowego znajdziesz w przykładach.
Typy
ColorArray
Typ
[liczba, liczba, liczba, liczba]
ImageDataType
Dane pikselowe dla obrazu. Musi to być obiekt ImageData; np. z elementu canvas
.
Typ
ImageData
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ą.
Metody
disable()
chrome.browserAction.disable(
tabId?: number,
callback?: function,
)
Wyłącza działanie przeglądarki dla karty.
Parametry
-
tabId
liczba opcjonalnie
Identyfikator karty, dla której chcesz zmienić działanie przeglądarki.
-
wywołanie zwrotne
funkcja optional
Chrome w wersji 67 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
enable()
chrome.browserAction.enable(
tabId?: number,
callback?: function,
)
Włącza działanie przeglądarki dla karty. Domyślnie włączone.
Parametry
-
tabId
liczba opcjonalnie
Identyfikator karty, dla której chcesz zmienić działanie przeglądarki.
-
wywołanie zwrotne
funkcja optional
Chrome w wersji 67 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getBadgeBackgroundColor()
chrome.browserAction.getBadgeBackgroundColor(
details: TabDetails,
callback?: function,
)
Pobiera kolor tła działania przeglądarki.
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: ColorArray) => void
-
wynik
-
Zwroty
-
Promise<ColorArray>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getBadgeText()
chrome.browserAction.getBadgeText(
details: TabDetails,
callback?: function,
)
Pobiera tekst plakietki działania przeglądarki. Jeśli nie podasz żadnej karty, zwracany będzie tekst plakietki niezwiązany z żadną kartą.
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>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getPopup()
chrome.browserAction.getPopup(
details: TabDetails,
callback?: function,
)
Pobiera dokument HTML ustawiony jako wyskakujące okienko dla tego działania przeglądarki.
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>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
getTitle()
chrome.browserAction.getTitle(
details: TabDetails,
callback?: function,
)
Pobiera tytuł działania w przeglądarce.
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>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setBadgeBackgroundColor()
chrome.browserAction.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 od 0 do 255, które składają się na kolor RGBA plakietki. Może to być też ciąg znaków z szesnastkową wartością koloru CSS. np.
#FF0000
lub#F00
(czerwony). Renderuje kolory z pełną nieprzezroczystością. -
tabId
liczba opcjonalnie
Ogranicza zmiany do momentu, gdy zostanie wybrana dana karta. Jest automatycznie resetowany po zamknięciu karty.
-
-
wywołanie zwrotne
funkcja optional
Chrome w wersji 67 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setBadgeText()
chrome.browserAction.setBadgeText(
details: object,
callback?: function,
)
Ustawia tekst plakietki dla działania przeglądarki. 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
funkcja optional
Chrome w wersji 67 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setIcon()
chrome.browserAction.setIcon(
details: object,
callback?: function,
)
Ustawia ikonę działania w przeglądarce. Ikonę można określić jako ścieżkę do pliku graficznego, jako dane pikseli z elementu canvas lub jako słownik jednego z tych elementów. Musisz 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ące ikonę do ustawienia. Jeśli ikona jest określona jako słownik, użyty obraz 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 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, użyty obraz 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 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
-
Obietnica<void>
Chrome 116 lub nowszy .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setPopup()
chrome.browserAction.setPopup(
details: object,
callback?: function,
)
Konfiguruje otwieranie dokumentu HTML jako wyskakującego okienka, gdy użytkownik kliknie ikonę czynności w przeglądarce.
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
Chrome w wersji 67 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
setTitle()
chrome.browserAction.setTitle(
details: object,
callback?: function,
)
Określa tytuł działania w przeglądarce. Ten tytuł jest widoczny 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 wyświetlić działanie przeglądarki po najechaniu na nie kursorem myszy.
-
-
wywołanie zwrotne
funkcja optional
Chrome w wersji 67 lub nowszej .Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome 88 i nowsze .Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onClicked
chrome.browserAction.onClicked.addListener(
callback: function,
)
Uruchamiane po kliknięciu ikony działania w przeglądarce. Nie uruchamia się, jeśli działanie przeglądarki zawiera wyskakujące okienko.