Dokumentacja API

Większość rozszerzeń wymaga dostępu do co najmniej jednego interfejsu API rozszerzeń do Chrome. Ten dokument API opisuje dostępne interfejsy API do zastosowania w rozszerzeniach i przedstawia 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 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 określono inaczej. Metody asynchroniczne są zwracane natychmiast, bez czekania za operację, która je wymaga. Użyj obietnic, aby uzyskać wyniki tych metod. Więcej informacji znajdziesz w artykule o metodach asynchronicznych.

Interfejsy API rozszerzeń do Chrome

accessibilityFeatures

Używaj interfejsu API chrome.accessibilityFeatures do zarządzania ułatwieniami dostępu w Chrome. Ten interfejs API opiera się na prototypie 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 można było modyfikować stan funkcji, rozszerzenie wymaga uprawnienia accessibilityFeatures.modify. Pamiętaj, że accessibilityFeatures.modify nie oznacza przyznania uprawnień 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ć okresowe lub w przyszłości uruchamianie kodu.

dźwięk
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 zarządzanie 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

Aby usunąć dane przeglądania z lokalnego profilu użytkownika, użyj interfejsu API chrome.browsingData.

certificateProvider
Chrome w wersji 46 lub nowszej, Tylko ChromeOS

Użyj tego interfejsu API, aby udostępniać certyfikaty platformie, która może ich używać do uwierzytelniania TLS.

polecenia

Użyj interfejsu API poleceń, aby dodać skróty klawiszowe, które uruchamiają działania w rozszerzeniu, na przykład działanie otwierające działanie przeglądarki lub wysłanie polecenia do rozszerzenia.

contentSettings

Interfejs API chrome.contentSettings umożliwia zmianę ustawień, które określają, czy strony 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

Aby dodawać elementy do menu kontekstowego Google Chrome, używaj interfejsu API chrome.contextMenus. Możesz wybrać typy obiektów, do których mają zastosowanie dodane w menu kontekstowym, np. obrazów, hiperlinków i stron.

pliki cookie,

Używaj interfejsu API chrome.cookies do wysyłania zapytań i modyfikowania plików cookie oraz otrzymywania powiadomień o zmianach.

debuger

Interfejs API chrome.debugger służy jako alternatywny środek transportu 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ć na karty z parametrem sendCommand i kierować zdarzenia według parametru tabId z onEvent wywołań zwrotnych.

declarativeContent

Interfejs API chrome.declarativeContent umożliwia wykonywanie działań w zależności od treści strony bez konieczności uzyskiwania uprawnień do jej odczytu.

declarativeNetRequest
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 sieciowe bez ich przechwytywania i wyświetlania treś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 wejść w interakcję z sprawdzanym oknem: uzyskaj identyfikator karty dla sprawdzanej strony, oceń kod w kontekście sprawdzanego okna, załaduj ponownie stronę lub pobierz listę zasobów na stronie.

devtools.network

Interfejs API chrome.devtools.network umożliwia pobieranie informacji o żądaniach sieciowych wyświetlanych przez narzędzia dla programistów w panelu Sieć.

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
Oczekujący

Aby nasłuchiwać aktualizacji stanu w panelu Wydajność w Narzędziach deweloperskich, użyj 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 rozpoznawania nazw DNS użyj interfejsu API chrome.dns.

documentScan
Chrome w wersji 44 lub nowszej Tylko 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

Interfejs API chrome.downloads służy do programowego inicjowania, monitorowania, modyfikowania i wyszukiwania plików do pobrania.

enterprise.deviceAttributes
Chrome w wersji 46 lub nowszej, Tylko ChromeOS Wymagana zasada

Odczytuj atrybuty urządzeń za pomocą 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 w wersji 71 lub nowszej Wymagana zasada

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 w przypadku rozszerzeń, których instalacja została wymuszona przez zasady 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. Certyfikaty będą zarządzane przez platformę i mogą być używane do uwierzytelniania TLS, dostępu do sieci lub za pomocą innego rozszerzenia za pomocą 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.

rozszerzenie

Interfejs API chrome.extension zawiera narzędzia, z których można korzystać na dowolnej stronie rozszerzenia. Obejmuje obsługę wymiany wiadomości między rozszerzeniem a jego skryptami treści lub między rozszerzeniami, jak opisano szczegółowo w sekcji Przekazywanie wiadomości.

extensionTypes

Interfejs API chrome.extensionTypes zawiera deklaracje typów rozszerzeń do Chrome.

fileBrowserHandler
Tylko ChromeOS Tylko pierwszy plan

Rozszerzenie przeglądarki plików Chrome OS za pomocą interfejsu API chrome.fileBrowserHandler. Możesz na przykład użyć tego interfejsu API, aby umożliwić użytkownikom przesyłanie plików do Twojej witryny.

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 usługi chrome.gcm, by umożliwić aplikacjom i rozszerzeniom wysyłanie i odbieranie wiadomości przez Komunikację 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ę historii własną wersją, przeczytaj sekcję Zastąp strony.

i18n

Użyj infrastruktury chrome.i18n, aby wdrożyć internacjonalizację całej aplikacji lub rozszerzenia.

tożsamość

Żeby uzyskać tokeny dostępu OAuth2, użyj interfejsu API chrome.identity.

bezczynny

Użyj interfejsu API chrome.idle, aby wykryć zmiany stanu bezczynności maszyny.

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 propozycji.

instanceID
Chrome w wersji 44 lub nowszej

Użyj adresu chrome.instanceID, aby uzyskać dostęp do usługi identyfikatora instancji.

loginState
Chrome w wersji 78 lub nowszej Tylko ChromeOS

Do odczytywania i monitorowania stanu logowania za pomocą interfejsu API chrome.loginState.

filmami

Interfejs chrome.management API umożliwia zarządzanie listą zainstalowanych i uruchomionych rozszerzeń/aplikacji. Jest ono szczególnie przydatne w przypadku rozszerzeń, które zastępują wbudowaną stronę Nowa karta.

powiadomień

Interfejs API chrome.notifications umożliwia tworzenie rozszerzonych powiadomień na podstawie szablonów i wyświetlanie ich użytkownikom w obszarze powiadomień.

poza ekranem
Chrome 109 lub nowszy MV3 lub nowszy

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 zasada przyzna takie uprawnienia, rozszerzenie może używać takiego certyfikatu w swoim własnym protokole uwierzytelniania. Na przykład: umożliwia używanie certyfikatów zarządzanych przez platformę w sieciach VPN innych firm (zobacz chrome.vpnProvider).

moc

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 wydruku do wysyłania zapytań o drukarki kontrolowane przez rozszerzenia, wysyłanie zapytań o ich możliwości i przesyłanie zadań drukowania do tych drukarek.

drukowanie
Chrome 81 i nowsze Tylko ChromeOS

Do wysyłania zadań drukowania do drukarek zainstalowanych na Chromebooku używaj interfejsu API chrome.printing.

printingMetrics
Chrome w wersji 79 lub nowszej Tylko ChromeOS Wymagana zasada

Użyj interfejsu API chrome.printingMetrics, aby pobrać dane o wykorzystaniu drukowania.

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 opiera się na prototypie interfejsu ChromeSetting API do pobierania i konfigurowania konfiguracji Chrome.

procesy
Wersja deweloperska

Interfejs API chrome.processes umożliwia interakcję z procesami przeglądarki.

proxy

Do zarządzania ustawieniami serwera proxy Chrome używaj interfejsu API chrome.proxy. Ten interfejs API opiera się na prototypie interfejsu ChromeSetting API do pobierania i ustawiania konfiguracji serwera proxy.

readingList
Chrome w wersji 120 lub nowszej MV3 lub nowszy

Do odczytywania i modyfikowania elementów na liście Do przeczytania używaj interfejsu API chrome.readingList.

środowisko wykonawcze

Interfejs API chrome.runtime umożliwia pobieranie skryptu service worker, zwracanie szczegółów pliku manifestu oraz nasłuchiwanie zdarzeń w cyklu życia rozszerzenia i odpowiadanie na nie. Za pomocą tego interfejsu API można również konwertować ścieżki względne adresów URL na pełne adresy URL.

skrypty
Chrome 88 i nowsze MV3 lub nowszy

Używaj interfejsu API chrome.scripting do wykonywania skryptu w różnych kontekstach.

search
Chrome 87 i nowsze

Używaj interfejsu API chrome.search, aby wyszukiwać za pomocą domyślnego dostawcy.

sesje

Używaj interfejsu API chrome.sessions do wysyłania zapytań dotyczących kart oraz okien i przywracania ich z sesji przeglądania.

sidePanel
Chrome w wersji 114 lub nowszej MV3 lub nowszy

Używaj interfejsu API chrome.sidePanel do hostowania treści w panelu bocznym przeglądarki obok głównej treści strony internetowej.

miejsce na dane

Interfejs API chrome.storage służy do przechowywania, pobierania i śledzenia zmian 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

Interfejs API chrome.system.storage pozwala wysyłać zapytania o informacje o urządzeniach pamięci masowej i otrzymywać powiadomienia o podłączeniu i odłączeniu takiego urządzenia.

systemLog
Chrome w wersji 125 lub nowszej Tylko ChromeOS Wymagana zasada

Dzienniki systemowe Chrome pochodzące z rozszerzeń możesz rejestrować za pomocą interfejsu API chrome.systemLog.

tabCapture

Do interakcji ze strumieniami multimediów na karcie używaj 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 zmieniać kolejność grup kart w przeglądarce. Aby pogrupować i rozgrupować karty lub zadać pytanie, które karty są w grupach, użyj interfejsu API chrome.tabs.

karty

Interfejs API chrome.tabs umożliwia interakcję 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 witryn (tj. najczęściej odwiedzanych) wyświetlanych na stronie nowej karty. Nie obejmują one skrótów niestandardowych przez użytkownika.

TT

Używaj interfejsu API chrome.tts do odtwarzania zamiany tekstu na mowę z syntezatorem. 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 wykorzystać dowolną dostępną technologię internetową do syntetyzowania i generowania mowy, a następnie wysyłania zdarzeń z powrotem do funkcji wywołującej, by poinformować o stanie.

typy

Interfejs API chrome.types zawiera deklaracje typów dla Chrome.

userScripts
Chrome w wersji 120 lub nowszej MV3 lub nowszy

Używaj interfejsu API userScripts do wykonywania skryptów użytkownika w kontekście skryptów użytkownika.

vpnProvider
Chrome w wersji 43 lub nowszej Tylko ChromeOS

Wdróż klienta VPN za pomocą interfejsu API chrome.vpnProvider.

tapeta
Chrome w wersji 43 lub nowszej Tylko ChromeOS

Aby zmienić tapetę 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 ich obsługi przez klienta lokalnego.

webNavigation

Używaj interfejsu API chrome.webNavigation, aby otrzymywać powiadomienia o stanie próśb o nawigację w drodze.

webRequest

Interfejs chrome.webRequest API pozwala obserwować i analizować ruch oraz przechwytywać, blokować i modyfikować przesyłane żądania.

okna

Do interakcji z oknami przeglądarki używaj interfejsu API chrome.windows. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i zmieniać kolejność okien w przeglądarce.