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 uprawnienieaccessibilityFeatures.read
. Aby modyfikować stan funkcji, rozszerzenie potrzebuje uprawnieniaaccessibilityFeatures.modify
. Pamiętaj, że uprawnienieaccessibilityFeatures.modify
nie oznacza uprawnieniaaccessibilityFeatures.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żyjchrome.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ściDebuggee
tabId
, aby kierować zdarzenia na karty z właściwościąsendCommand
i kierować zdarzenia według właściwościtabId
z wywołań zwrotnychonEvent
. - 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
-
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
-
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
-
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
-
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
-
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 interfejsuchrome.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 interfejsttsEngine
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 interfejsutts
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.