Dokumentacja API

Większość rozszerzeń do Chrome potrzebuje dostępu do co najmniej jednego interfejsu API rozszerzeń do Chrome, aby działać. Ten dokument referencyjny interfejsów API opisuje interfejsy API dostępne do użycia w rozszerzeniach i przedstawia przykładowe przypadki użycia.

Typowe funkcje interfejsu API rozszerzeń

Interfejs Extensions API składa się z przestrzeni nazw zawierającej metody i właściwości do obsługi rozszerzeń oraz zwykle, ale nie zawsze, z pól 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ą wartość natychmiast, bez oczekiwania na zakończenie operacji, która je wywołuje. Aby uzyskać wyniki tych metod asynchronicznych, użyj obietnic.

Interfejsy API rozszerzeń Chrome

accessibilityFeatures

Użyj interfejsu chrome.accessibilityFeatures API, aby zarządzać funkcjami ułatwień dostępu w Chrome. Ten interfejs API korzysta z prototypu ChromeSetting interfejsu API typu do pobierania i ustawiania poszczególnych funkcji ułatwień dostępu. Aby uzyskać stany funkcji, rozszerzenie musi poprosić o uprawnienie accessibilityFeatures.read. Aby modyfikować stan funkcji, rozszerzenie potrzebuje uprawnienia accessibilityFeatures.modify. Pamiętaj, że uprawnienie accessibilityFeatures.modify nie oznacza uprawnienia accessibilityFeatures.read.

działanie
Chrome 88 lub nowsza MV3+

Użyj interfejsu chrome.action API, aby sterować ikoną rozszerzenia na pasku narzędzi Google Chrome.

alarms

Użyj interfejsu chrome.alarms API, aby zaplanować uruchamianie kodu okresowo lub w określonym czasie w przyszłości.

audio
Chrome 59 lub nowszy Tylko ChromeOS

Interfejs chrome.audio API 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,

Użyj interfejsu chrome.bookmarks API, aby tworzyć, porządkować i w inny sposób manipulować zakładkami. Zobacz też strony zastępowania, których możesz użyć do utworzenia niestandardowej strony menedżera zakładek.

browsingData

użyć interfejsu chrome.browsingData API, aby usunąć dane przeglądania z lokalnego profilu użytkownika;

certificateProvider
Chrome 46 lub nowszy Tylko ChromeOS

Użyj tego interfejsu API, aby udostępnić platformie certyfikaty, które mogą być używane do uwierzytelniania TLS.

polecenia

Użyj interfejsu Commands API, aby dodać skróty klawiszowe, które wywołują działania w rozszerzeniu, np. otwieranie działania przeglądarki lub wysyłanie polecenia do rozszerzenia.

contentSettings

Użyj interfejsu chrome.contentSettings API, aby zmienić ustawienia kontrolujące, czy witryny mogą korzystać z takich funkcji jak pliki cookie, JavaScript i wtyczki. Ogólnie rzecz biorąc, ustawienia treści umożliwiają dostosowywanie działania Chrome w przypadku poszczególnych witryn, a nie globalnie.

contextMenus

Użyj interfejsu chrome.contextMenus API, aby dodać elementy do menu kontekstowego Google Chrome. Możesz wybrać, do jakich typów obiektów mają być stosowane dodatki do menu kontekstowego, np. do obrazów, hiperlinków i stron.

pliki cookie

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

debuger

Interfejs chrome.debugger API służy jako alternatywny transport dla protokołu zdalnego debugowania Chrome. Użyj chrome.debugger, aby dołączyć do co najmniej 1 karty i instrumentować interakcje sieciowe, debugować JavaScript, modyfikować DOM i CSS oraz wykonywać inne czynności. Użyj właściwości Debuggee tabId, aby kierować zdarzenia na karty z właściwością sendCommand i kierować zdarzenia według właściwości tabId z wywołań zwrotnych onEvent.

declarativeContent

Używaj interfejsu chrome.declarativeContent API do wykonywania działań w zależności od treści strony bez konieczności uzyskiwania uprawnień do odczytywania treści strony.

declarativeNetRequest
Chrome 84 lub nowsza

Interfejs chrome.declarativeNetRequest API służy do blokowania lub modyfikowania żądań sieciowych przez określanie reguł deklaratywnych. Dzięki temu rozszerzenia mogą modyfikować żądania sieciowe bez ich przechwytywania i wyświetlania ich zawartości, co zapewnia większą prywatność.

desktopCapture

Interfejs Desktop Capture API przechwytuje zawartość ekranu, poszczególnych okien lub poszczególnych kart.

devtools.inspectedWindow

Użyj interfejsu chrome.devtools.inspectedWindow API, aby wchodzić w interakcje z kontrolowanym oknem: uzyskać identyfikator karty kontrolowanej strony, ocenić kod w kontekście kontrolowanego okna, ponownie załadować stronę lub uzyskać listę zasobów na stronie.

devtools.network

Użyj interfejsu chrome.devtools.network API, aby pobrać informacje o żądaniach sieciowych wyświetlane przez Narzędzia dla programistów w panelu Sieć.

devtools.panels

Użyj interfejsu chrome.devtools.panels API, aby zintegrować rozszerzenie z interfejsem okna Narzędzi deweloperskich: twórz własne panele, uzyskuj dostęp do istniejących paneli i dodawaj paski boczne.

devtools.performance
Chrome 129 lub nowsza

Użyj interfejsu chrome.devtools.performance API, aby nasłuchiwać aktualizacji stanu nagrywania w panelu Wydajność w Narzędziach deweloperskich.

devtools.recorder
Chrome 105 lub nowsza

Użyj interfejsu chrome.devtools.recorder API, aby dostosować panel Rejestrator w Narzędziach deweloperskich.

dns
Wersja deweloperska

Użyj interfejsu chrome.dns API do rozpoznawania DNS.

documentScan
Chrome 44 i nowsze Tylko ChromeOS

Użyj interfejsu chrome.documentScan API, aby wykrywać i pobierać obrazy z podłączonych skanerów dokumentów.

dom
Chrome 88 lub nowsza

Użyj interfejsu chrome.dom API, aby uzyskać dostęp do specjalnych interfejsów DOM API dla rozszerzeń.

downloads

Za pomocą interfejsu chrome.downloads API możesz automatycznie inicjować, monitorować, modyfikować i wyszukiwać pobierane pliki.

enterprise.deviceAttributes
Chrome 46 i nowsze Tylko ChromeOS Wymaga zasad

Użyj interfejsu chrome.enterprise.deviceAttributes API, aby odczytać atrybuty urządzenia. 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 i nowsze wersje Wymaga zasad

Użyj interfejsu chrome.enterprise.hardwarePlatform API, aby uzyskać informacje o producencie i modelu platformy sprzętowej, na której działa przeglądarka. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń zainstalowanych przez zasady przedsiębiorstwa.

enterprise.login
Oczekujące Tylko ChromeOS Wymaga zasad

Użyj interfejsu chrome.enterprise.login API, aby zakończyć sesje użytkowników. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń zainstalowanych przez zasady firmy w zarządzanych sesjach ChromeOS.

enterprise.networkingAttributes
Chrome 85 lub nowszy Tylko ChromeOS Wymaga zasad

Użyj interfejsu chrome.enterprise.networkingAttributes API, 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 Wymaga zasad

Użyj interfejsu chrome.enterprise.platformKeys API, aby wygenerować klucze i zainstalować certyfikaty dla tych kluczy. Certyfikaty będą zarządzane przez platformę i mogą być używane do uwierzytelniania TLS, dostępu do sieci lub przez inne rozszerzenia za pomocą interfejsu chrome.platformKeys.

zdarzenia

Przestrzeń nazw chrome.events zawiera typowe typy używane przez interfejsy API wysyłające zdarzenia, aby powiadamiać Cię o interesujących zdarzeniach.

extension

Interfejs chrome.extension API zawiera narzędzia, z których może korzystać każda strona rozszerzenia. Obejmuje to obsługę wymiany wiadomości między rozszerzeniem a jego skryptami dotyczącymi treści lub między rozszerzeniami, co zostało szczegółowo opisane w sekcji Przekazywanie wiadomości.

extensionTypes

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

fileBrowserHandler
Tylko ChromeOS Tylko na pierwszym planie

Użyj interfejsu chrome.fileBrowserHandler API, aby rozszerzyć przeglądarkę plików w ChromeOS. 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

Użyj interfejsu chrome.fileSystemProvider API, aby utworzyć systemy plików, które będą dostępne w menedżerze plików w ChromeOS.

fontSettings

Użyj interfejsu chrome.fontSettings API, aby zarządzać ustawieniami czcionek w Chrome.

gcm

Użyj 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 chrome.history API, aby korzystać z historii odwiedzonych stron w przeglądarce. Możesz dodawać i usuwać adresy URL w historii przeglądarki oraz wyszukiwać je. Aby zastąpić stronę historii własną wersją, zapoznaj się z sekcją Zastępowanie stron.

i18n

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

tożsamość

Użyj interfejsu chrome.identity API, aby uzyskać tokeny dostępu OAuth2.

idle

Użyj interfejsu chrome.idle API, aby wykrywać zmiany stanu bezczynności urządzenia.

input.ime
Tylko ChromeOS

Użyj interfejsu chrome.input.ime API, aby wdrożyć niestandardowy edytor IME dla ChromeOS. Dzięki temu rozszerzenie może obsługiwać naciśnięcia klawiszy, ustawiać kompozycję i zarządzać oknem sugestii.

instanceID
Chrome 44 lub nowszy

Aby uzyskać dostęp do usługi identyfikatora instancji, użyj nazwy chrome.instanceID.

loginState
Chrome 78 lub nowszy Tylko ChromeOS

Użyj interfejsu chrome.loginState API, aby odczytywać i monitorować stan logowania.

filmami

Interfejs chrome.management API umożliwia zarządzanie zainstalowanymi aplikacjami i rozszerzeniami.

powiadomienia

Za pomocą interfejsu chrome.notifications API możesz tworzyć rozbudowane powiadomienia przy użyciu szablonów i wyświetlać je użytkownikom w zasobniku systemowym.

poza ekranem
Chrome 109 lub nowszy MV3 lub nowszy

Do tworzenia dokumentów poza ekranem i zarządzania nimi służy interfejs offscreen API.

omnibox

Interfejs API omniboksu umożliwia zarejestrowanie słowa kluczowego na pasku adresu Google Chrome, który jest też nazywany omniboksem.

pageCapture

Użyj interfejsu chrome.pageCapture API, aby zapisać kartę w formacie MHTML.

uprawnienia,

Używaj interfejsu chrome.permissions API, aby prosić o zadeklarowane uprawnienia opcjonalne w czasie działania aplikacji, a nie w czasie instalacji. Dzięki temu użytkownicy będą rozumieć, dlaczego aplikacja potrzebuje tych uprawnień, i przyznawać 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 zasady przyznają uprawnienia, rozszerzenie może używać takiego certyfikatu w swoim niestandardowym protokole uwierzytelniania. Umożliwia to np. korzystanie z certyfikatów zarządzanych przez platformę w usługach VPN innych firm (patrz chrome.vpnProvider).

power

Użyj interfejsu chrome.power API, aby zastąpić funkcje zarządzania energią systemu.

printerProvider
Chrome 44 lub nowszy

Interfejs chrome.printerProvider API udostępnia zdarzenia używane przez menedżera drukowania do wysyłania zapytań o drukarki kontrolowane przez rozszerzenia, ich możliwości i przesyłania do nich zadań drukowania.

drukowanie
Chrome 81 lub nowszy Tylko ChromeOS

Użyj interfejsu chrome.printing API, aby wysyłać zadania drukowania do drukarek zainstalowanych na Chromebooku.

printingMetrics
Chrome 79 lub nowszy Tylko ChromeOS Wymaga zasad

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

prywatność

Użyj interfejsu chrome.privacy API, aby kontrolować korzystanie z funkcji Chrome, które mogą wpływać na prywatność użytkownika. Ten interfejs API korzysta z prototypu ChromeSetting interfejsu API typu do pobierania i ustawiania konfiguracji Chrome.

procesy,
Wersja deweloperska

Użyj interfejsu chrome.processes API, aby wchodzić w interakcje z procesami przeglądarki.

proxy

Użyj interfejsu chrome.proxy API, aby zarządzać ustawieniami serwera proxy w Chrome. Ten interfejs API korzysta z prototypu ChromeSetting interfejsu API typu do pobierania i ustawiania konfiguracji serwera proxy.

readingList
Chrome 120+ MV3+

Użyj interfejsu chrome.readingList API, aby odczytywać i modyfikować elementy na liście Do przeczytania.

runtime

Użyj interfejsu API chrome.runtime, aby pobrać proces roboczy usługi, zwrócić szczegóły manifestu oraz nasłuchiwać zdarzeń w cyklu życia rozszerzenia i na nie odpowiadać. Możesz też użyć tego interfejsu API, aby przekonwertować ścieżkę względną adresów URL na pełne adresy URL.

skryptów,
Chrome 88 lub nowsza MV3+

Użyj interfejsu chrome.scripting API, aby wykonać skrypt w różnych kontekstach.

search
Chrome w wersji 87 lub nowszej

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

sesje,

Użyj interfejsu chrome.sessions API, aby wysyłać zapytania i przywracać karty oraz okna z sesji przeglądania.

sidePanel
Chrome 114 lub nowszy MV3 lub nowszy

Użyj interfejsu chrome.sidePanel API, aby hostować treści w panelu bocznym przeglądarki obok głównej treści strony.

storage

Używaj interfejsu chrome.storage API do przechowywania, pobierania i śledzenia zmian w danych użytkowników.

system.cpu

Użyj interfejsu system.cpu API, aby wysyłać zapytania o metadane procesora.

system.display

Użyj interfejsu system.display API, aby wysyłać zapytania o metadane wyświetlania.

system.memory

Interfejs API chrome.system.memory.

system.storage

Użyj interfejsu chrome.system.storage API, aby wysyłać zapytania o informacje o urządzeniu pamięci masowej i otrzymywać powiadomienia o podłączeniu i odłączeniu wymiennego urządzenia pamięci masowej.

systemLog
Chrome w wersji 125 lub nowszej Tylko ChromeOS Wymaga zasady

Użyj interfejsu chrome.systemLog API, aby rejestrować logi systemowe Chrome z rozszerzeń.

tabCapture

Użyj interfejsu chrome.tabCapture API, aby korzystać ze strumieni multimediów z kart.

tabGroups
Chrome 89 lub nowszy MV3+

Użyj interfejsu chrome.tabGroups API, aby korzystać z systemu grupowania kart w przeglądarce. Za pomocą tego interfejsu API możesz modyfikować i przenosić grupy kart w przeglądarce. Aby grupować i rozgrupowywać karty lub sprawdzać, które karty należą do grup, użyj interfejsu chrome.tabs API.

karty,

Używaj interfejsu chrome.tabs API do interakcji z systemem kart przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przenosić karty w przeglądarce.

topSites

Użyj interfejsu chrome.topSites API, aby uzyskać dostęp do najpopularniejszych witryn (czyli najczęściej odwiedzanych), które są wyświetlane na stronie nowej karty. Nie obejmują one skrótów dostosowanych przez użytkownika.

tts

Użyj interfejsu chrome.tts API, aby odtwarzać zsyntetyzowany tekst zamieniony na mowę (TTS). Zobacz też powiązany interfejs ttsEngine API, który umożliwia rozszerzeniu wdrożenie silnika mowy.

ttsEngine

Użyj interfejsu chrome.ttsEngine API, aby wdrożyć silnik zamiany tekstu na mowę(TTS) za pomocą rozszerzenia. Jeśli rozszerzenie zarejestruje się za pomocą tego interfejsu API, będzie otrzymywać zdarzenia zawierające wypowiedź do odczytania i inne parametry, gdy dowolne rozszerzenie lub aplikacja Chrome użyje interfejsu tts API do generowania mowy. Rozszerzenie może następnie użyć dowolnej dostępnej technologii internetowej do syntezy i odtwarzania mowy oraz wysyłania zdarzeń z powrotem do funkcji wywołującej, aby zgłaszać stan.

types

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

userScripts
Chrome 120+ MV3+

Użyj interfejsu userScripts API, aby wykonywać skrypty użytkownika w kontekście skryptów użytkownika.

vpnProvider
Chrome 43 lub nowszy Tylko ChromeOS

Użyj interfejsu chrome.vpnProvider API, aby wdrożyć klienta VPN.

tapeta
Chrome 43 lub nowszy Tylko ChromeOS

Użyj interfejsu chrome.wallpaper API, aby zmienić tapetę w ChromeOS.

webAuthenticationProxy
Chrome 115 lub nowszy MV3 lub nowszy

Interfejs chrome.webAuthenticationProxy API umożliwia oprogramowaniu pulpitu zdalnego działającemu na hoście zdalnym przechwytywanie żądań do interfejsu Web Authentication API (WebAuthn) w celu obsługi ich na kliencie lokalnym.

webNavigation

Używaj interfejsu chrome.webNavigation API, aby otrzymywać powiadomienia o stanie żądań nawigacyjnych w trakcie lotu.

webRequest

Użyj interfejsu chrome.webRequest API, aby obserwować i analizować ruch oraz przechwytywać, blokować lub modyfikować żądania w trakcie przesyłania.

okna

Używaj interfejsu chrome.windows API do interakcji z oknami przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przenosić okna w przeglądarce.