Większość rozszerzeń wymaga dostępu do co najmniej jednego interfejsu API rozszerzeń do Chrome. Ten przewodnik po interfejsach API zawiera opis interfejsów API dostępnych do użycia w rozszerzeniach oraz przykładowe przypadki użycia.
Popularne funkcje interfejsu Extensions API
Interfejs API rozszerzeń składa się z przestrzeni nazw zawierającej metody i właściwości służące do wykonywania rozszerzeń i zazwyczaj, choć nie
zawsze pola manifestu dla pliku manifest.json
. Na przykład w pliku manifestu w przestrzeni nazw chrome.action
musi się znajdować obiekt "action"
. Wiele interfejsów API wymaga też uprawnień w pliku manifestu.
Metody w interfejsach API rozszerzeń są asynchroniczne, chyba że zaznaczono inaczej. Metody asynchroniczne zwracają dane natychmiast, bez oczekiwania na zakończenie operacji, która je wywołała. Użyj obietnic, aby uzyskać wyniki tych asynchronicznych metod.
Interfejsy API rozszerzeń do Chrome
- accessibilityFeatures
-
Aby zarządzać funkcjami ułatwień dostępu w Chrome, użyj interfejsu API
chrome.accessibilityFeatures
. Ten interfejs API wykorzystuje prototyp interfejsu ChromeSetting API do pobierania i konfigurowania poszczególnych funkcji ułatwień dostępu. Aby uzyskać stany funkcji, rozszerzenie musi poprosić o uprawnienieaccessibilityFeatures.read
. Aby zmodyfikować stan funkcji, rozszerzenie musi mieć uprawnieniaaccessibilityFeatures.modify
. Pamiętaj, że uprawnienieaccessibilityFeatures.modify
nie oznacza uprawnieniaaccessibilityFeatures.read
. - działanie
-
Chrome 88 i nowsze MV3 lub nowszy
Aby kontrolować ikonę rozszerzenia na pasku narzędzi Google Chrome, użyj interfejsu API
chrome.action
. - alarmy
-
Użyj interfejsu API
chrome.alarms
, aby zaplanować wykonywanie kodu okresowo lub w określonym czasie w przyszłości. - audio
-
Chrome w wersji 59 lub nowszej Tylko ChromeOS
Interfejs API
chrome.audio
umożliwia użytkownikom uzyskiwanie informacji o urządzeniach audio podłączonych do systemu i sterowanie nimi. Ten interfejs API jest obecnie dostępny tylko w trybie kiosku w ChromeOS. - zakładki,
-
Interfejs API
chrome.bookmarks
służy do tworzenia i porządkowania zakładek oraz do wykonywania innych czynności związanych z nimi. Zobacz też artykuł Zastąp strony, na podstawie którego możesz utworzyć niestandardową stronę Menedżera zakładek. - browsingData
-
Użyj interfejsu
chrome.browsingData
API, aby usunąć dane przeglądania z lokalnego profilu użytkownika. - certificateProvider
-
Chrome 46 lub nowszy Tylko w ChromeOS
Użyj tego interfejsu API, aby udostępniać certyfikaty platformie, która może ich używać do uwierzytelniania TLS.
- polecenia
-
Za pomocą interfejsu komend API możesz dodawać skróty klawiszowe, które wywołują działania w rozszerzeniu, np. otwierają działanie przeglądarki lub wysyłają do rozszerzenia polecenie.
- contentSettings
-
Użyj interfejsu API
chrome.contentSettings
, aby zmienić ustawienia, które kontrolują, czy witryny mogą używać funkcji takich jak pliki cookie, JavaScript i wtyczki. Ogólnie rzecz biorąc, ustawienia treści umożliwiają dostosowanie działania Chrome w poszczególnych witrynach, a nie globalnie. - contextMenus
-
Użyj interfejsu API
chrome.contextMenus
, aby dodać elementy do menu kontekstowego Google Chrome. Możesz wybrać, do jakich obiektów mają się odnosić elementy menu kontekstowego, np. obrazy, hiperlinki i strony. - ciasteczka
-
Używaj interfejsu API
chrome.cookies
do wysyłania zapytań i modyfikowania plików cookie oraz otrzymywania powiadomień o zmianach. - debuger
-
Interfejs
chrome.debugger
API służy jako alternatywny transport dla protokołu zdalnego debugowania w Chrome. Za pomocąchrome.debugger
możesz dołączyć do co najmniej 1 karty w celu instrumentowania interakcji w sieci, debugowania JavaScriptu, zmieniania DOM i CSS oraz wykonywania innych działań. Użyj właściwościtabId
Debuggee
, aby kierować reklamy na karty z użyciem parametrusendCommand
, i kieruj zdarzenia według parametrutabId
z wywołańonEvent
. - declarativeContent
-
Użyj interfejsu API
chrome.declarativeContent
, aby podejmować działania zależne od treści strony, bez konieczności uzyskiwania uprawnień do odczytu tej treści. - deklaratywnyNetRequest
-
Chrome 84 i nowsze
Interfejs API
chrome.declarativeNetRequest
służy do blokowania lub modyfikowania żądań sieciowych przez określenie reguł deklaratywnych. Dzięki temu rozszerzenia mogą modyfikować żądania sieci bez ich przechwytywania i przeglądania zawartości, co zapewnia większą prywatność. - desktopCapture
-
Interfejs Desktop Capture API przechwytuje zawartość ekranu, poszczególnych okien i poszczególnych kart.
- devtools.inspectedWindow
-
Użyj interfejsu API
chrome.devtools.inspectedWindow
, aby wchodzić w interakcję z przeglądanym oknem: pobierać identyfikator karty przeglądanej strony, oceniać kod w kontekście przeglądanego okna, ponownie wczytywać stronę lub pobierać listę zasobów na stronie. - devtools.network
-
Aby pobrać informacje o żądaniach sieci wyświetlanych przez Narzędzia dla programistów w panelu Sieć, użyj interfejsu API
chrome.devtools.network
. - devtools.panels
-
Interfejs API
chrome.devtools.panels
pozwala zintegrować rozszerzenie z interfejsem okna Narzędzia dla programistów i tworzyć własne panele, uzyskiwać dostęp do dotychczasowych paneli i dodawać paski boczne. - devtools.performance
-
Chrome w wersji 129 lub nowszej
Aby nasłuchiwać aktualizacji stanu w panelu Wydajność w Narzędziach deweloperskich, używaj interfejsu API
chrome.devtools.performance
. - devtools.recorder
-
Chrome w wersji 105 lub nowszej
Za pomocą interfejsu API
chrome.devtools.recorder
możesz dostosować panel Dyktafon w Narzędziach deweloperskich. - dns
-
Wersja deweloperska
Do rozwiązywania adresów DNS użyj interfejsu API
chrome.dns
. - documentScan
-
Chrome 44 i nowszeTylko w systemie ChromeOS
Wykrywaj i pobieraj obrazy z podłączonych skanerów dokumentów za pomocą interfejsu API
chrome.documentScan
. - dom
-
Chrome 88 i nowsze
Użyj interfejsu API
chrome.dom
, aby uzyskać dostęp do specjalnych interfejsów DOM API dla rozszerzeń - pobrania
-
Użyj interfejsu
chrome.downloads
API, aby automatycznie inicjować, monitorować, modyfikować i wyszukiwać pobierania. - enterprise.deviceAttributes
-
Aby odczytać atrybuty urządzenia, użyj interfejsu API
chrome.enterprise.deviceAttributes
. Uwaga: ten interfejs API jest dostępny tylko w przypadku rozszerzeń, których instalacja została wymuszona przez zasady przedsiębiorstwa. - enterprise.hardwarePlatform
-
Chrome 71 lub nowszy Wymaga ustawienia zasad
Użyj interfejsu API
chrome.enterprise.hardwarePlatform
, aby uzyskać nazwę producenta i model platformy sprzętowej, na której działa przeglądarka. Uwaga: ten interfejs API jest dostępny tylko w przypadku rozszerzeń zainstalowanych przez zasady przedsiębiorstwa. - enterprise.networkingAttributes
-
Użyj interfejsu API
chrome.enterprise.networkingAttributes
, aby odczytać informacje o bieżącej sieci. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń, których instalacja została wymuszona na podstawie zasad przedsiębiorstwa. - enterprise.platformKeys
-
Tylko ChromeOS Wymagana zasada
Użyj interfejsu API
chrome.enterprise.platformKeys
do generowania kluczy i instalowania certyfikatów dla tych kluczy. Certyfikatami będzie zarządzać platforma. Można ich używać do uwierzytelniania TLS, dostępu do sieci lub przez inne rozszerzenie za pomocą interfejsu chrome.platformKeys. - zdarzenia
-
Przestrzeń nazw
chrome.events
zawiera typowe typy wykorzystywane przez interfejsy API wysyłające zdarzenia, aby powiadamiać Cię, gdy wydarzy się coś interesującego. - extension
-
Interfejs API
chrome.extension
zawiera narzędzia, których można używać na dowolnej stronie rozszerzenia. Obejmuje to obsługę wymiany wiadomości między rozszerzeniem a skryptami treści lub między rozszerzeniami, jak opisano szczegółowo w sekcji Przesyłanie wiadomości. - extensionTypes
-
Interfejs API
chrome.extensionTypes
zawiera deklaracje typów dla rozszerzeń Chrome. - fileBrowserHandler
-
Tylko w ChromeOS Tylko w tle
Użyj interfejsu
chrome.fileBrowserHandler
API, aby rozszerzyć przeglądarkę plików w Chrome OS. Możesz na przykład użyć tego interfejsu API, aby umożliwić użytkownikom przesyłanie plików na Twoją stronę. - fileSystemProvider
-
Tylko ChromeOS
Do tworzenia systemów plików, do których można uzyskać dostęp za pomocą menedżera plików w Chrome OS, użyj interfejsu API
chrome.fileSystemProvider
. - fontSettings
-
Do zarządzania ustawieniami czcionek Chrome używaj interfejsu API
chrome.fontSettings
. - gcm
-
Użyj opcji
chrome.gcm
, aby umożliwić aplikacjom i rozszerzeniom wysyłanie i odbieranie wiadomości za pomocą Komunikacji w chmurze Firebase (FCM). - historia
-
Do interakcji z rejestrem odwiedzonych stron w przeglądarce należy używać interfejsu API
chrome.history
. W historii przeglądarki możesz dodawać i usuwać adresy URL, a także wysyłać dotyczące ich zapytania. Aby zastąpić stronę z historią własną wersją, zapoznaj się z artykułem Zastępowanie stron. - i18n
-
Aby wdrożyć międzynarodowość w całej aplikacji lub rozszerzeniu, użyj infrastruktury
chrome.i18n
. - identity
-
Żeby uzyskać tokeny dostępu OAuth2, użyj interfejsu API
chrome.identity
. - bezczynny
-
Użyj interfejsu API
chrome.idle
, aby wykryć, kiedy stan bezczynności urządzenia ulega zmianie. - input.ime
-
Tylko ChromeOS
Implementacja niestandardowego edytora IME dla ChromeOS przy użyciu interfejsu API
chrome.input.ime
. Dzięki temu rozszerzenie może obsługiwać naciśnięcia klawiszy, ustawiać kompozycję i zarządzać oknem kandydata. - instanceID
-
Chrome 44 lub nowszy
Aby uzyskać dostęp do usługi Identyfikator instancji, użyj adresu
chrome.instanceID
. - loginState
-
Chrome w wersji 78 lub nowszej Tylko ChromeOS
Do odczytywania i monitorowania stanu logowania za pomocą interfejsu API
chrome.loginState
. - filmami
-
Interfejs API
chrome.management
umożliwia zarządzanie zainstalowanymi aplikacjami i rozszerzeniami. - powiadomień
-
Interfejs API
chrome.notifications
umożliwia tworzenie rozszerzonych powiadomień na podstawie szablonów i wyświetlanie ich użytkownikom w obszarze powiadomień. - offscreen
-
Chrome 109 i nowszeMV3 i nowsze
Używaj interfejsu API
offscreen
do tworzenia dokumentów poza ekranem i zarządzania nimi. - omniboks
-
Interfejs API omniboksu umożliwia zarejestrowanie słowa kluczowego na pasku adresu Google Chrome, zwanym także omniboksem.
- pageCapture
-
Aby zapisać kartę w formacie MHTML, użyj interfejsu API
chrome.pageCapture
. - uprawnienia
-
Używaj interfejsu
chrome.permissions
API, aby wysyłać żądania zadeklarowanych opcjonalnych uprawnień w czasie działania, a nie podczas instalacji. Dzięki temu użytkownicy będą rozumieć, dlaczego uprawnienia są potrzebne, i przyznać tylko te, które są niezbędne. - platformKeys
-
Chrome w wersji 45 lub nowszej Tylko ChromeOS
Użyj interfejsu API
chrome.platformKeys
, aby uzyskać dostęp do certyfikatów klienta zarządzanych przez platformę. Jeśli użytkownik lub zasady przyznają uprawnienia, rozszerzenie może używać takiego certyfikatu w ramach niestandardowego protokołu uwierzytelniania. Na przykład: umożliwia używanie certyfikatów zarządzanych przez platformę w sieciach VPN innych firm (zobacz chrome.vpnProvider). - power
-
Aby zastąpić funkcje zarządzania zasilaniem systemu, użyj interfejsu API
chrome.power
. - printerProvider
-
Chrome w wersji 44 lub nowszej
Interfejs API
chrome.printerProvider
udostępnia zdarzenia używane przez menedżera drukowania do wysyłania zapytań do drukarek kontrolowanych przez rozszerzenia, sprawdzania ich możliwości i przesyłania do nich zadań drukowania. - drukowanie
-
Chrome 81 i nowsze wersje Tylko w ChromeOS
Użyj interfejsu API
chrome.printing
, aby wysyłać zadania drukowania do drukarek zainstalowanych na Chromebooku. - printingMetrics
-
Aby pobrać dane o używaniu drukowania, użyj interfejsu API
chrome.printingMetrics
. - prywatność
-
Używaj interfejsu API
chrome.privacy
, aby kontrolować korzystanie w Chrome z funkcji, które mogą naruszać prywatność użytkowników. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania konfiguracji Chrome. - procesy
-
Wersja deweloperska
Użyj interfejsu API
chrome.processes
, aby wchodzić w interakcje z procesami przeglądarki. - proxy
-
Do zarządzania ustawieniami serwera proxy Chrome używaj interfejsu API
chrome.proxy
. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania konfiguracji serwera proxy. - readingList
-
Chrome 120+MV3+
Do odczytywania i modyfikowania elementów na liście Do przeczytania używaj interfejsu API
chrome.readingList
. - czas wykonywania
-
Użyj interfejsu API
chrome.runtime
, aby pobrać usługę workera, zwrócić szczegóły manifestu i słuchać oraz odpowiadać na zdarzenia w cyklu życia rozszerzenia. Za pomocą tego interfejsu API możesz też konwertować względną ścieżkę adresów URL na pełne adresy URL. - skryptowanie
-
Chrome 88+ MV3+
Użyj interfejsu
chrome.scripting
API, aby wykonać skrypt w różnych kontekstach. - search
-
Chrome 87 lub nowszy
Użyj interfejsu API
chrome.search
, aby wyszukiwać za pomocą domyślnego dostawcy. - sesji,
-
Używaj interfejsu API
chrome.sessions
do wysyłania zapytań dotyczących kart oraz okien i przywracania ich z sesji przeglądania. - sidePanel
-
Chrome 114 lub nowszyMV3 lub nowszy
Używaj interfejsu API
chrome.sidePanel
do hostowania treści w panelu bocznym przeglądarki obok głównej treści strony internetowej. - storage
-
Użyj interfejsu API
chrome.storage
, aby przechowywać, pobierać i śledzić zmiany w danych użytkownika. - system.cpu
-
Do wysyłania zapytań o metadane procesora użyj interfejsu API
system.cpu
. - system.display
-
Do wysyłania zapytań dotyczących wyświetlanych metadanych użyj interfejsu API
system.display
. - system.memory
-
Interfejs API
chrome.system.memory
. - system.storage
-
Użyj interfejsu API
chrome.system.storage
, aby zapytać o informacje dotyczące urządzenia pamięci masowej i otrzymać powiadomienie, gdy urządzenie pamięci wymiennej zostanie podłączone lub odłączone. - systemLog
-
Dzienniki systemowe Chrome pochodzące z rozszerzeń możesz rejestrować za pomocą interfejsu API
chrome.systemLog
. - tabCapture
-
Do interakcji z strumieniami multimediów na kartach użyj interfejsu API
chrome.tabCapture
. - tabGroups
-
Chrome w wersji 89 lub nowszej MV3 lub nowszy
Do interakcji z systemem grupowania kart przeglądarki używaj interfejsu API
chrome.tabGroups
. Za pomocą tego interfejsu API możesz modyfikować i przestawiać grupy kart w przeglądarce. Aby grupować i rozgrupowywać karty lub zapytać, które karty znajdują się w grupach, użyj interfejsuchrome.tabs
API. - karty
-
Użyj interfejsu API
chrome.tabs
, aby wchodzić w interakcje z systemem kart przeglądarki. Możesz używać tego interfejsu API do tworzenia, modyfikowania i przesuwania kart w przeglądarce. - topSites
-
Użyj interfejsu API
chrome.topSites
, aby uzyskać dostęp do najpopularniejszych (czyli najczęściej odwiedzanych) witryn wyświetlanych na stronie nowej karty. Nie obejmują one skrótów niestandardowych przez użytkownika. - tts
-
Aby odtwarzać syntezowany tekst (TTS), użyj interfejsu API
chrome.tts
. Zobacz też powiązany interfejs APIttsEngine
, który umożliwia rozszerzeniu wdrożenie silnika mowy. - ttsEngine
-
Aby zaimplementować mechanizm zamiany tekstu na mowę, użyj rozszerzenia API
chrome.ttsEngine
. Jeśli rozszerzenie zarejestruje się za pomocą tego interfejsu API, otrzyma zdarzenia zawierające wypowiedź do odczytania oraz inne parametry, gdy dowolne rozszerzenie lub aplikacja Chrome użyje interfejsu APItts
do generowania mowy. Rozszerzenie może następnie użyć dowolnej dostępnej technologii internetowej do syntezy i wyprowadzenia mowy oraz wysłać zdarzenia z powrotem do funkcji wywołania, aby przekazać stan. - types
-
Interfejs
chrome.types
API zawiera deklaracje typów w Chrome. - userScripts
-
Chrome 120+MV3+
Używaj interfejsu API
userScripts
do wykonywania skryptów użytkownika w kontekście skryptów użytkownika. - vpnProvider
-
Chrome 43 i nowsze Tylko w systemie ChromeOS
Wdróż klienta VPN za pomocą interfejsu API
chrome.vpnProvider
. - tapeta
-
Chrome 43 i nowsze Tylko w systemie ChromeOS
Aby zmienić tapetę w ChromeOS, użyj interfejsu API
chrome.wallpaper
. - webAuthenticationProxy
-
Chrome w wersji 115 lub nowszej MV3 lub nowszy
Interfejs
chrome.webAuthenticationProxy
API umożliwia oprogramowaniu pulpitu zdalnego działające na hoście zdalnym przechwytywanie żądań do interfejsu Web Authentication API (WebAuthn) w celu obsługi ich na kliencie lokalnym. - webNavigation
-
Aby otrzymywać powiadomienia o stanie żądań nawigacji w trakcie ich przetwarzania, użyj interfejsu API
chrome.webNavigation
. - webRequest
-
Użyj interfejsu API
chrome.webRequest
, aby obserwować i analizować ruch oraz przechwytywać, blokować i modyfikować żądania w trakcie przesyłania. - okna
-
Korzystaj z interfejsu
chrome.windows
API, aby wchodzić w interakcje z oknami przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i zmieniać kolejność okien w przeglądarce.