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 uprawnienieaccessibilityFeatures.read
. Aby można było modyfikować stan funkcji, rozszerzenie wymaga uprawnieniaaccessibilityFeatures.modify
. Pamiętaj, żeaccessibilityFeatures.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. Przy użyciu elementuchrome.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ścitabId
Debuggee
, aby kierować na karty z parametremsendCommand
i kierować zdarzenia według parametrutabId
zonEvent
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 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
-
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
-
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 zainstalowanymi aplikacjami i rozszerzeniami. - 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
-
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
-
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 APIchrome.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 APIttsEngine
, 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 APItts
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.