Działanie to czynność, która następuje, gdy użytkownik kliknie ikonę paska narzędzi, zwykle nazywaną ikoną działania rozszerzenia. Działanie wywołuje funkcję rozszerzenia za pomocą interfejsu Action API lub otwiera wyskakujące okienko. Na tej stronie dowiesz się, jak wywołać funkcję rozszerzenia. Aby użyć wyskakującego okienka, przeczytaj artykuł Dodawanie wyskakującego okienka.
Rejestrowanie działania
Aby użyć interfejsu chrome.action API, dodaj klucz "action" do pliku manifestu rozszerzenia. Pełny opis opcjonalnych właściwości tego pola znajdziesz w sekcji manifestu w dokumentacji interfejsu chrome.action API.
manifest.json:
{
"name": "My Awesome action Extension",
...
"action": {
...
}
...
}
Reagowanie na działanie
Zarejestruj moduł obsługi onClicked, który będzie reagować na kliknięcie ikony działania przez użytkownika. To zdarzenie nie jest wywoływane, jeśli w pliku manifest.json zarejestrowano wyskakujące okienko.
service-worker.js:
chrome.action.onClicked.addListener((tab) => {
chrome.action.setTitle({
tabId: tab.id,
title: `You are on tab: ${tab.id}`});
});
Warunkowe aktywowanie działania
Interfejs chrome.declarativeContent API umożliwia włączenie ikony działania rozszerzenia na podstawie adresu URL strony lub gdy selektory CSS pasują do elementów na stronie. Gdy ikona działania rozszerzenia jest wyłączona, jest wyszarzona. Jeśli użytkownik kliknie wyłączoną ikonę, pojawi się menu kontekstowe rozszerzenia.
Odznaka działania
Odznaki to fragmenty sformatowanego tekstu umieszczane nad ikoną działania, aby wskazywać np. stan rozszerzenia lub że użytkownik musi wykonać określone działania. Aby to zademonstrować, przykład Drink Water wyświetla odznakę z napisem "ON", aby pokazać użytkownikowi, że alarm został ustawiony, a gdy rozszerzenie jest nieaktywne, nie wyświetla nic. Odznaki mogą zawierać maksymalnie 4 znaki.
Ustaw tekst odznaki, wywołując chrome.action.setBadgeText(), a kolor tła – wywołując chrome.action.setBadgeBackgroundColor().
service-worker.js:
chrome.action.setBadgeText({text: 'ON'});
chrome.action.setBadgeBackgroundColor({color: '#4688F1'});
Etykietka
Zarejestruj etykietki w polu "default_title" w kluczu "action" w pliku manifest.json.
manifest.json:
{
"name": "Tab Flipper",
...
"action": {
"default_title": "Press Ctrl(Win)/Command(Mac)+Shift+Right/Left to flip tabs"
}
...
}
Możesz też ustawić lub zaktualizować etykietki, wywołując action.setTitle(). Jeśli nie ustawiono etykietki, wyświetli się nazwa rozszerzenia.