Dokumentacja API

Większość rozszerzeń wymaga dostępu do co najmniej jednego interfejsu API rozszerzeń do Chrome. W tym artykule opisujemy interfejsy API, których można używać w rozszerzeniach, i przedstawiamy ich przykłady.

Popularne funkcje interfejsu Extensions API

Interfejs API rozszerzeń składa się z przestrzeni nazw zawierającej metody i właściwości do wykonywania rozszerzeń oraz pola manifestu dla pliku manifest.json, które zazwyczaj, choć nie zawsze, są polami manifestu. 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 na zakończenie operacji, która je wywoła. 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 lub nowszy, 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 59 lub nowszy 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 46 lub nowszy 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.

debugger

Interfejs API chrome.debugger służy jako alternatywny środek transportu dla protokołu zdalnego debugowania w Chrome. Przy użyciu elementu 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 wymagania uprawnień do jej odczytu.

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 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.recorder
Chrome 105 lub nowszy

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 44 lub nowszy Tylko ChromeOS

Wykrywaj i pobieraj obrazy z podłączonych skanerów dokumentów za pomocą interfejsu API chrome.documentScan.

dom
Chrome 88 lub nowszy

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

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 71 lub nowszy Wymaga 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 lub nowsza Tylko ChromeOS Wymaga zasad

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 Wymaga zasady

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 na pierwszym planie

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 w 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 w 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 44 lub nowszy

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

loginState
Chrome 78 lub nowszy 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 45 lub nowszy 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. Przykładowo umożliwia to 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 44 lub nowszy

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 lub nowszy Tylko ChromeOS

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

printingMetrics
Chrome 79 lub nowszy Tylko ChromeOS Wymaga zasad

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 120 lub nowszy 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 lub nowszy, MV3 lub nowszy

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

search
Chrome 87 lub nowszy

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 114 lub nowszy, 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 Wymaga zasad

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 89 lub nowszy 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.

tts

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 120 lub nowszy MV3 lub nowszy

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

vpnProvider
Chrome 43 lub nowszy Tylko ChromeOS

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

tapeta
Chrome 43 lub nowszy Tylko ChromeOS

Aby zmienić tapetę ChromeOS, użyj interfejsu API chrome.wallpaper.

webAuthenticationProxy
Chrome 115 i nowsze wersje MV3 lub nowsze

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.