Dokumentacja API

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 uprawnienia accessibilityFeatures.read. Aby zmodyfikować stan funkcji, rozszerzenie musi mieć uprawnienia accessibilityFeatures.modify. Pamiętaj, że uprawnienie accessibilityFeatures.modify nie oznacza uprawnienia accessibilityFeatures.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żyj chrome.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ści tabId Debuggee, aby kierować reklamy na karty z użyciem parametru sendCommand, i kieruj zdarzenia za pomocą parametru tabId z funkcji zwrotnych wywołania onEvent.

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
Chrome 46 lub nowszy Tylko w ChromeOS Wymaga ustawienia zasad

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
Oczekuje Tylko w ChromeOS Wymaga ustawienia zasad

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

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
Chrome 79 lub nowszy Tylko w ChromeOS Wymaga zasady

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

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