Dokumentacja API

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 uprawnienie accessibilityFeatures.read. Aby zmodyfikować stan funkcji, rozszerzenie musi mieć uprawnienia accessibilityFeatures.modify. Pamiętaj, że uprawnienie accessibilityFeatures.modify nie oznacza uprawnienia accessibilityFeatures.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ści tabId Debuggee, aby kierować reklamy na karty z użyciem parametru sendCommand, i kieruj zdarzenia według parametru tabId 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
Chrome 46 i nowsze wersje Tylko w systemie ChromeOS Wymaga ustawienia zasad

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
Chrome 85 i nowsze Tylko ChromeOS Wymagana zasada

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
Chrome w wersji 79 lub nowszej Tylko ChromeOS Wymagana zasada

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
Chrome 125 i nowsze Tylko w systemie ChromeOS Wymaga ustawienia zasad

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 interfejsu chrome.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 API ttsEngine, 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 API tts 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.