Dokumentacja API

Większość rozszerzeń wymaga do działania dostępu do co najmniej 1 interfejsu API rozszerzeń do Chrome. Ta dokumentacja API opisuje interfejsy API dostępne do użycia w rozszerzeniach i przedstawia przykładowe przypadki użycia.

Od Chrome 148 te interfejsy API są też dostępne w przestrzeni nazw browser jako alternatywa dla chrome w różnych przeglądarkach. Wskazówki dotyczące wdrażania znajdziesz w sekcji Przestrzeń nazw przeglądarki.

Typowe funkcje interfejsu Extensions API

Interfejs API rozszerzeń składa się z przestrzeni nazw zawierającej metody i właściwości do pracy z rozszerzeniami oraz zwykle, ale nie zawsze, pól manifestu pliku manifest.json. Na przykład przestrzeń nazw browser.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 podano inaczej. Metody asynchroniczne zwracają wynik natychmiast, bez czekania na zakończenie operacji, która je wywołuje. Aby uzyskać wyniki tych metod asynchronicznych, użyj obietnic.

Interfejsy API rozszerzeń do Chrome

accessibilityFeatures

Użyj interfejsu API chrome.accessibilityFeatures, 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 zmodyfikować stan funkcji, rozszerzenie potrzebuje uprawnienia accessibilityFeatures.modify. Pamiętaj, że accessibilityFeatures.modify nie oznacza uprawnienia accessibilityFeatures.read.

action
Chrome 88 lub nowsza wersja browser.* od Chrome 148 MV3 lub nowsza wersja

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

alarms

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

audio
Chrome 59 lub nowsza browser.* od Chrome 148 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.

bookmarks

Używaj interfejsu API chrome.bookmarks do tworzenia i porządkowania zakładek oraz wykonywania innych działań na nich. Zobacz też Zastępowanie stron, gdzie znajdziesz informacje o tworzeniu niestandardowej strony Menedżera zakładek.

browsingData

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

certificateProvider
Chrome 46 lub nowsza browser.* od Chrome 148 Tylko ChromeOS

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

polecenia

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

contentSettings

Użyj interfejsu API chrome.contentSettings, aby zmienić ustawienia określające, czy witryny mogą korzystać z takich funkcji, jak pliki cookie, JavaScript i wtyczki. Mówiąc ogólnie, ustawienia treści pozwalają dostosować działanie Chrome do konkretnej witryny, a nie globalnie.

contextMenus

Użyj interfejsu API chrome.contextMenus, aby dodać elementy do menu kontekstowego Google Chrome. Możesz wybrać typy obiektów, do których mają być stosowane dodatki do 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.

debugger

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

declarativeContent

Używaj interfejsu API chrome.declarativeContent, aby podejmować działania w zależności od zawartości strony, bez konieczności uzyskiwania uprawnień do odczytu jej zawartości.

declarativeNetRequest
Chrome 84 lub nowsza wersja browser.* od Chrome 148

Interfejs API chrome.declarativeNetRequest 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 kart.

devtools.inspectedWindow

Użyj interfejsu API chrome.devtools.inspectedWindow, aby wejść w interakcję ze sprawdzanym oknem: uzyskać identyfikator karty sprawdzanej strony, ocenić kod w kontekście sprawdzanego okna, ponownie załadować stronę lub uzyskać listę zasobów na stronie.

devtools.network

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

devtools.panels

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

devtools.performance
Chrome 129+ browser.* od Chrome 152

Użyj interfejsu API chrome.devtools.performance, aby otrzymywać aktualizacje stanu nagrywania w panelu Wydajność w Narzędziach deweloperskich.

devtools.recorder
Chrome 105 lub nowsza browser.* od Chrome 152

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

dns
Wersja deweloperska

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

documentScan
Chrome 44 lub nowsza browser.* od Chrome 148 Tylko ChromeOS

Używaj interfejsu API chrome.documentScan do wykrywania i pobierania obrazów z podłączonych skanerów dokumentów.

dom
Chrome 88 lub nowsza browser.* od Chrome 148

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

pobieranie

Użyj interfejsu API chrome.downloads, aby automatycznie inicjować, monitorować, modyfikować i wyszukiwać pobierane pliki.

enterprise.deviceAttributes
Chrome 46 lub nowsza browser.* od Chrome 148 Tylko ChromeOS Wymaga zasady

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

enterprise.hardwarePlatform
Chrome 71 lub nowsza browser.* od Chrome 148 Wymaga zasady

Użyj interfejsu API chrome.enterprise.hardwarePlatform, 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 firmy.

enterprise.login
Chrome 139+ browser.* od Chrome 148 Tylko ChromeOS Wymaga zasady

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 przez zasady firmy w zarządzanych sesjach gościa w ChromeOS.

enterprise.networkingAttributes
Chrome 85 lub nowsza browser.* od Chrome 148 Tylko ChromeOS Wymaga zasady

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

enterprise.platformKeys
Tylko w systemie ChromeOS Wymaga zasady

Użyj interfejsu API chrome.enterprise.platformKeys, 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 rozszerzenie za pomocą chrome.platformKeys.

zdarzenia

Przestrzeń nazw chrome.events zawiera typowe typy używane przez interfejsy API wysyłające zdarzenia, aby powiadomić 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 obsługę wymiany wiadomości między rozszerzeniem a jego skryptami treści lub między rozszerzeniami, jak opisano szczegółowo w artykule Przekazywanie wiadomości.

extensionTypes

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

fileBrowserHandler
Tylko w systemie ChromeOS Tylko na pierwszym planie

Użyj interfejsu API chrome.fileBrowserHandler, aby rozszerzyć przeglądarkę plików w ChromeOS. Przy użyciu tego interfejsu API możesz na przykład umożliwić użytkownikom przesyłanie plików na Twoją stronę internetową.

fileSystemProvider
Tylko w systemie ChromeOS

Używaj interfejsu API chrome.fileSystemProvider do tworzenia systemów plików, które będą dostępne w menedżerze plików w Chrome OS.

fontSettings

Użyj interfejsu API chrome.fontSettings, 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 API chrome.history, aby wejść w interakcję z rejestrem odwiedzonych stron w przeglądarce. Możesz dodawać, usuwać i wyszukiwać adresy URL w historii przeglądarki. Aby zastąpić stronę historii własną wersją, zapoznaj się z artykułem Zastępowanie stron.

i18n

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

identity

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

idle

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

input.ime
Tylko w systemie ChromeOS

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

instanceID
Chrome 44 lub nowsza browser.* od Chrome 148

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

loginState
Chrome 78 i nowsze browser.* od Chrome 148 Tylko ChromeOS

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

filmami

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

mimeHandler
Chrome 151 lub nowsza wersja

Użyj interfejsu API chrome.mimeHandler, aby obsługiwać strumienie typów MIME w rozszerzeniach innych firm.

notifications

Użyj interfejsu API chrome.notifications, aby tworzyć rozbudowane powiadomienia za pomocą szablonów i wyświetlać je użytkownikom w obszarze powiadomień.

offscreen
Chrome 109+ browser.* od Chrome 148 MV3+

Do tworzenia dokumentów poza ekranem i zarządzania nimi używaj interfejsu API offscreen.

omnibox

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

pageCapture

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

uprawnienia

Używaj interfejsu API chrome.permissions, aby prosić o zadeklarowane uprawnienia opcjonalne w czasie działania, a nie w czasie instalacji. Dzięki temu użytkownicy będą rozumieć, do czego potrzebne są konkretne uprawnienia, i będą przyznawać tylko te, które są niezbędne.

platformKeys
Chrome 45 lub nowsza browser.* od Chrome 148 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 uprawnienia, rozszerzenie może używać takiego certyfikatu w swoim niestandardowym protokole uwierzytelniania. Umożliwia to na przykład korzystanie z certyfikatów zarządzanych przez platformę w sieciach VPN innych firm (patrz chrome.vpnProvider).

power

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

printerProvider
Chrome 44 lub nowsza browser.* od Chrome 148

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.

printing
Chrome 81 lub nowsza browser.* od Chrome 148 Tylko ChromeOS

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

printingMetrics
Chrome 79 lub nowsza wersja browser.* od Chrome 148 Tylko ChromeOS Wymaga zasady

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

prywatność

Użyj interfejsu API chrome.privacy, 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 konfigurowania Chrome.

procesy
Wersja deweloperska

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

proxy

Użyj interfejsu API chrome.proxy, 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.

publicSuffix
Chrome 153 lub nowsza wersja

Użyj interfejsu API chrome.publicSuffix, aby wysłać zapytanie do listy sufiksów publicznych (PSL) przeglądarki.

readingList
Chrome 120 lub nowsza browser.* od Chrome 148 MV3 lub nowsza

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

runtime

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

scripting
Chrome 88 lub nowsza wersja browser.* od Chrome 148 MV3 lub nowsza wersja

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

search
Chrome 87 lub nowsza browser.* od Chrome 148

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

sessions

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

sidePanel
Chrome 114 lub nowsza browser.* od Chrome 148 MV3 lub nowsza

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

storage

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

system.cpu

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

system.display

Użyj interfejsu API system.display, aby wysłać zapytanie o wyświetlane metadane.

system.memory

Interfejs API chrome.system.memory.

system.storage

Używaj interfejsu API chrome.system.storage, 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 125+ browser.* od Chrome 148 Tylko ChromeOS Wymaga zasady

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

tabCapture

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

tabGroups
Chrome 89+ browser.* od Chrome 148 MV3+

Użyj interfejsu API chrome.tabGroups, aby wejść w interakcję z systemem grupowania kart w przeglądarce. Za pomocą tego interfejsu API możesz modyfikować i zmieniać kolejność grup kart w przeglądarce. Aby grupować i rozgrupowywać karty lub sprawdzać, które karty są w grupach, użyj interfejsu API chrome.tabs.

tabs

Użyj interfejsu API chrome.tabs, aby wejść w interakcję z systemem kart przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i porządkować karty w przeglądarce.

topSites

Użyj interfejsu API chrome.topSites, 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 API chrome.tts, aby odtwarzać syntetyzowaną zamianę tekstu na mowę (TTS). Zobacz też powiązany interfejs API ttsEngine, który umożliwia rozszerzeniu implementację silnika mowy.

ttsEngine

Użyj interfejsu API chrome.ttsEngine, aby zaimplementować 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 API tts do generowania mowy. Rozszerzenie może następnie użyć dowolnej dostępnej technologii internetowej do syntezy i wygenerowania mowy oraz wysłania zdarzeń z powrotem do funkcji wywołującej w celu zgłoszenia stanu.

types

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

userScripts
Chrome 120 lub nowsza browser.* od Chrome 148 MV3 lub nowsza

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

vpnProvider
Chrome 43 i nowsze browser.* od Chrome 148 Tylko ChromeOS

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

tapeta
Chrome 43 i nowsze browser.* od Chrome 148 Tylko ChromeOS

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

webAuthenticationProxy
Chrome 115 lub nowsza browser.* od Chrome 148 MV3 lub nowsza

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

webNavigation

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

webRequest

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

windows

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