Większość rozszerzeń wymaga dostępu do co najmniej jednego interfejsu API rozszerzeń Chrome. Ten przewodnik po interfejsach API zawiera opis interfejsów API dostępnych do użycia w rozszerzeniach oraz przykłady zastosowań.
Wspólne funkcje interfejsu Extensions API
Interfejs Extensions API składa się z przestrzeni nazw zawierającej metody i właściwości służące do obsługi rozszerzeń oraz zwykle, ale nie zawsze, z polów manifestu w pliku manifest.json
. Na przykład przestrzeń nazw chrome.action
wymaga obiektu "action"
w pliku manifestu. 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. Aby uzyskać wyniki tych asynchronicznych metod, użyj obietnic.
Interfejsy API rozszerzeń Chrome
- accessibilityFeatures
-
Aby zarządzać funkcjami ułatwień dostępu w Chrome, użyj interfejsu API
chrome.accessibilityFeatures
. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania poszczególnych funkcji ułatwień dostępu. Aby uzyskać stany funkcji, rozszerzenie musi poprosić o uprawnieniaaccessibilityFeatures.read
. Aby zmodyfikować stan funkcji, rozszerzenie musi mieć uprawnieniaaccessibilityFeatures.modify
. Pamiętaj, że uprawnienieaccessibilityFeatures.modify
nie oznacza uprawnieniaaccessibilityFeatures.read
. - action
-
Chrome 88+ MV3+
Aby sterować ikoną rozszerzenia na pasku narzędzi w Google Chrome, użyj interfejsu API
chrome.action
. - alarms
-
Użyj interfejsu API
chrome.alarms
, aby zaplanować wykonywanie kodu okresowo lub w określonym czasie w przyszłości. - audio
-
Chrome 59 i nowsze wersje Tylko w systemie ChromeOS
Interfejs API
chrome.audio
umożliwia użytkownikom uzyskiwanie informacji o podłączonych do systemu urządzeniach audio oraz ich kontrolowanie. Ten interfejs API jest obecnie dostępny tylko w trybie kiosku w systemie ChromeOS. - zakładki,
-
Użyj interfejsu API
chrome.bookmarks
do tworzenia, porządkowania i modyfikowania zakładek. Zobacz też artykuł Override Pages API, który umożliwia tworzenie niestandardowej strony Menedżera zakładek. - browsingData
-
Użyj interfejsu
chrome.browsingData
API, aby usunąć dane przeglądania z lokalnego profilu użytkownika. - certificateProvider
-
Chrome 46 i nowsze wersje Tylko w systemie ChromeOS
Używaj tego interfejsu API, aby udostępniać certyfikaty platformie, która może używać tych certyfikatów 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ą korzystać z takich funkcji, 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 typów obiektów mają się odnosić elementy menu kontekstowego, np. obrazy, hiperlinki i strony. - pliki cookie
-
Użyj interfejsu API
chrome.cookies
, aby wysyłać zapytania o pliki cookie i je modyfikować oraz otrzymywać powiadomienia o ich zmianach. - debuger
-
Interfejs
chrome.debugger
API służy jako alternatywny transport dla protokołu zdalnego debugowania w Chrome. Użyjchrome.debugger
, aby dołączyć jedną lub więcej kart do interakcji z siecią instrumentu, debugować JavaScript, modyfikować DOM i CSS oraz wykonywać inne czynności. Użyj właściwościtabId
Debuggee
, aby kierować reklamy na karty z użyciem parametrusendCommand
, i kieruj zdarzenia za pomocą parametrutabId
z funkcji zwrotnych wywołaniaonEvent
. - declarativeContent
-
Używaj interfejsu API
chrome.declarativeContent
, aby podejmować działania zależne od treści strony, bez konieczności uzyskiwania uprawnień do odczytu treści strony. - declarativeNetRequest
-
Chrome 84 lub nowszy
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 API Desktop Capture umożliwia przechwytywanie zawartości ekranu, poszczególnych okien lub kart.
- devtools.inspectedWindow
-
Aby wchodzić w interakcję z przeglądanym oknem, użyj interfejsu API
chrome.devtools.inspectedWindow
: pobierz identyfikator karty przeglądanej strony, oceń kod w kontekście przeglądanego okna, ponownie załaduj stronę lub pobierz listę zasobów na stronie. - devtools.network
-
Aby pobrać informacje o żądaniach sieciowych wyświetlanych przez Narzędzia dla programistów w panelu Sieć, użyj interfejsu API
chrome.devtools.network
. - devtools.panels
-
Aby zintegrować rozszerzenie z interfejsem okna narzędzi dla programistów, użyj interfejsu API
chrome.devtools.panels
: twórz własne panele, uzyskaj dostęp do istniejących paneli i dodaj paski boczne. - devtools.performance
-
Chrome 129 lub nowszy
Aby odbierać aktualizacje stanu nagrywania w panelu Wydajność w Narzędziach deweloperskich, użyj interfejsu API
chrome.devtools.performance
. - devtools.recorder
-
Chrome w wersji 105 lub nowszej
Użyj interfejsu API
chrome.devtools.recorder
, aby dostosować panel Dyktafon w Narzędziach deweloperskich. - dns
-
Kanał dla programistów
Do rozwiązywania adresów DNS użyj interfejsu API
chrome.dns
. - documentScan
-
Chrome 44 i nowsze Tylko w ChromeOS
Aby wykrywać i pobierać obrazy ze skanerów dokumentów, użyj interfejsu
chrome.documentScan
API. - dom
-
Chrome 88 lub nowszy
Korzystanie z interfejsu
chrome.dom
API do uzyskiwania dostępu do specjalnych interfejsów DOM API dla rozszerzeń - downloads
-
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 dla rozszerzeń, których instalacja została wymuszona na podstawie zasad przedsiębiorstwa. - enterprise.hardwarePlatform
-
Chrome 71 lub nowszy Wymaga ustawienia zasad
Aby poznać producenta i model platformy sprzętowej, na której działa przeglądarka, użyj interfejsu API
chrome.enterprise.hardwarePlatform
. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń zainstalowanych na podstawie zasad przedsiębiorstwa. - enterprise.login
-
Aby zakończyć zarządzane sesje gościa, użyj interfejsu API
chrome.enterprise.login
. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń zainstalowanych na podstawie zasad firmy w ramach zarządzanych sesji gościa w ChromeOS. - enterprise.networkingAttributes
-
Aby odczytać informacje o bieżącej sieci, użyj interfejsu API
chrome.enterprise.networkingAttributes
. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń, których instalacja została wymuszona na podstawie zasad przedsiębiorstwa. - enterprise.platformKeys
-
Tylko w ChromeOS Wymaga ustawienia zasad
Użyj interfejsu API
chrome.enterprise.platformKeys
, aby wygenerować klucze i zainstalować certyfikaty 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 używane przez interfejsy API do wysyłania zdarzeń, które informują o wystąpieniu czegoś 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 jego 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
Aby rozszerzyć przeglądarkę plików w systemie operacyjnym Chrome, użyj interfejsu
chrome.fileBrowserHandler
API. Możesz na przykład użyć tego interfejsu API, aby umożliwić użytkownikom przesyłanie plików na Twoją stronę. - fileSystemProvider
-
Tylko w systemie ChromeOS
Użyj interfejsu API
chrome.fileSystemProvider
, aby utworzyć systemy plików, które będą dostępne w menedżerze plików w systemie operacyjnym Chrome. - fontSettings
-
Aby zarządzać ustawieniami czcionek w Chrome, użyj 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
-
Użyj interfejsu API
chrome.history
, aby uzyskać dostęp do rekordu odwiedzonych stron w przeglądarce. Możesz dodawać, usuwać i wyszukiwać adresy URL w historii przeglądarki. 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
-
Aby uzyskać tokeny dostępu OAuth2, użyj interfejsu API
chrome.identity
. - idle
-
Użyj interfejsu API
chrome.idle
, aby wykryć, kiedy stan bezczynności urządzenia ulega zmianie. - input.ime
-
Tylko w systemie ChromeOS
Aby wdrożyć niestandardowy interfejs IME w ChromeOS, użyj 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 78 i nowsze wersje Tylko w systemie ChromeOS
Aby odczytywać i monitorować stan logowania, użyj interfejsu API
chrome.loginState
. - filmami
-
Interfejs API
chrome.management
umożliwia zarządzanie zainstalowanymi aplikacjami i rozszerzeniami. - powiadomienia
-
Za pomocą interfejsu
chrome.notifications
API możesz tworzyć powiadomienia za pomocą szablonów i wyświetlać je użytkownikom na pasku systemowym. - offscreen
-
Chrome 109 i nowsze MV3 i nowsze
Do tworzenia dokumentów poza ekranem i zarządzania nimi służy interfejs API
offscreen
. - omnibox
-
Interfejs API omniboksa umożliwia zarejestrowanie słowa kluczowego w pasku adresu w Google Chrome, który jest też nazywany omniboksem.
- pageCapture
-
Aby zapisać kartę jako MHTML, użyj interfejsu API
chrome.pageCapture
. - uprawnienia
-
Użyj interfejsu
chrome.permissions
API, aby poprosić o deklarowane opcjonalne uprawnienia w czasie działania aplikacji, a nie w czasie instalacji. Dzięki temu użytkownicy będą rozumieć, do czego te uprawnienia są potrzebne, i przyznawać tylko te, które są niezbędne. - platformKeys
-
Chrome 45 i nowsze Tylko w systemie ChromeOS
Aby uzyskać dostęp do certyfikatów klienta zarządzanych przez platformę, użyj interfejsu API
chrome.platformKeys
. Jeśli użytkownik lub zasady przyznają uprawnienia, rozszerzenie może używać takiego certyfikatu w ramach własnego protokołu uwierzytelniania. Umożliwia to np. korzystanie z certyfikatów zarządzanych przez platformę w przypadku usług VPN innych firm (patrz chrome.vpnProvider). - power
-
Aby zastąpić funkcje zarządzania energią systemu, użyj interfejsu
chrome.power
API. - printerProvider
-
Chrome 44 lub nowszy
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ść
-
Za pomocą interfejsu API
chrome.privacy
możesz kontrolować korzystanie z funkcji w Chrome, które mogą wpływać na prywatność użytkownika. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania konfiguracji Chrome. - procesy
-
Kanał dla programistów
Użyj interfejsu API
chrome.processes
, aby wchodzić w interakcje z procesami przeglądarki. - proxy
-
Aby zarządzać ustawieniami serwera proxy w Chrome, użyj interfejsu API
chrome.proxy
. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania konfiguracji serwera proxy. - readingList
-
Chrome 120+ MV3+
Użyj interfejsu API
chrome.readingList
, aby odczytać i zmodyfikować elementy na liście Do przeczytania. - runtime
-
Użyj interfejsu API
chrome.runtime
, aby pobrać usługę w tle, zwrócić szczegóły manifestu i odbierać zdarzenia w cyklu życia rozszerzenia oraz na nie odpowiadać. Za pomocą tego interfejsu API możesz też konwertować względną ścieżkę adresów URL na pełne adresy URL. - skrypty
-
Chrome 88+ MV3+
Użyj interfejsu API
chrome.scripting
, 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żyj interfejsu
chrome.sessions
API, aby wysłać zapytanie o zakładki i okna z sesji przeglądania oraz je przywrócić. - sidePanel
-
Chrome 114 lub nowszy MV3 lub nowszy
Użyj interfejsu API
chrome.sidePanel
, aby hostować treści w panelu bocznym przeglądarki obok głównej treści strony. - storage
-
Użyj interfejsu API
chrome.storage
, aby przechowywać, pobierać i śledzić zmiany w danych użytkownika. - system.cpu
-
Aby wysyłać zapytania o metadane procesora, użyj interfejsu API
system.cpu
. - system.display
-
Aby wysłać zapytanie o metadane wyświetlania, 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
-
Użyj interfejsu
chrome.systemLog
API, aby rejestrować logi systemowe Chrome z rozszerzeń. - tabCapture
-
Korzystanie z interfejsu API
chrome.tabCapture
do interakcji z strumieniami multimediów w kartach. - tabGroups
-
Chrome 89 lub nowszy MV3+
Użyj interfejsu API
chrome.tabGroups
, aby wchodzić w interakcje z systemem grupowania kart przeglądarki. 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. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przestawiać karty 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 dostosowanych przez użytkownika. - tts
-
Aby odtwarzać syntezowany tekst (TTS), użyj interfejsu API
chrome.tts
. Zapoznaj się też z powiązanym interfejsem APIttsEngine
, który umożliwia rozszerzeniu implementację mechanizmu przetwarzania mowy. - ttsEngine
-
Aby zaimplementować mechanizm zamiany tekstu na mowę(TTS) za pomocą rozszerzenia, użyj interfejsu API
chrome.ttsEngine
. Jeśli rozszerzenie zarejestruje się za pomocą tego interfejsu API, będzie otrzymywać zdarzenia zawierające wypowiedź do wymówienia i inne parametry, gdy dowolne rozszerzenie lub aplikacja w Chrome będzie używać interfejsu APItts
do generowania mowy. Rozszerzenie może następnie użyć dowolnej dostępnej technologii internetowej do syntezy i wyświetlenia 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żyj interfejsu
userScripts
API, aby wykonać skrypty użytkownika w kontekście skryptów użytkownika. - vpnProvider
-
Chrome 43 i nowsze Tylko w ChromeOS
Aby zaimplementować klienta VPN, użyj interfejsu API
chrome.vpnProvider
. - tapeta
-
Chrome 43 i nowsze Tylko w ChromeOS
Aby zmienić tapetę w ChromeOS, użyj interfejsu API
chrome.wallpaper
. - webAuthenticationProxy
-
Chrome 115 i nowsze MV3+
Interfejs API
chrome.webAuthenticationProxy
umożliwia oprogramowaniu pulpitu zdalnego działającemu na hoście zdalnym przechwytywanie żądań interfejsu Web Authentication API (WebAuthn) w celu ich obsługi 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 przestawiać okna w przeglądarce.