Większość rozszerzeń potrzebuje do działania co najmniej jednego interfejsu API rozszerzeń Chrome. W tym artykule omawiamy interfejsy API dostępne w rozszerzeniach i przedstawiamy przykładowe zastosowania.
Typowe funkcje interfejsu Extensions API
Interfejs Extensions API składa się z przestrzeni nazw zawierającej metody i właściwości umożliwiające działanie rozszerzeń i zwykle, ale nie zawsze, pola manifestu pliku manifest.json
. Na przykład przestrzeń nazw chrome.action
wymaga obiektu "action"
w pliku manifestu. Wiele interfejsów API wymaga również uprawnień w pliku manifestu.
Metody w interfejsach API rozszerzeń są asynchroniczne, chyba że wskazano inaczej. Metody asynchroniczne powracają natychmiast, bez oczekiwania na zakończenie operacji. Aby uzyskać wyniki uzyskane za pomocą tych metod, użyj funkcji obietnice. Więcej informacji znajdziesz w artykule Metody asynchroniczne.
Interfejsy API rozszerzeń do Chrome
- accessibilityFeatures
-
Interfejs API
chrome.accessibilityFeatures
służy do zarządzania ułatwieniami dostępu w Chrome. Do pobierania i ustawiania poszczególnych ułatwień dostępu interfejs API wykorzystuje prototyp ChromeSettings API. Aby uzyskać stany funkcji, rozszerzenie musi prosić o uprawnienieaccessibilityFeatures.read
. Aby można było zmodyfikować stan funkcji, rozszerzenie wymaga uprawnieniaaccessibilityFeatures.modify
. Pamiętaj, żeaccessibilityFeatures.modify
nie sugeruje uprawnieniaaccessibilityFeatures.read
. - działanie
-
Chrome 88 i nowsze wersje MV3 i nowsze
Używaj interfejsu
chrome.action
API, aby kontrolować ikonę rozszerzenia na pasku narzędzi Google Chrome. - alarmy
-
Za pomocą interfejsu API
chrome.alarms
możesz zaplanować uruchamianie kodu okresowo lub o określonej godzinie w przyszłości. - dźwięk
-
Chrome 59 i nowsze 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żywaj interfejsu
chrome.bookmarks
API do tworzenia i porządkowania zakładek oraz innych operacji na nich. Zobacz też sekcję Zastąp strony, której możesz użyć do utworzenia niestandardowej strony Menedżera zakładek. - browsingData
-
Używanie interfejsu API
chrome.browsingData
do usuwania danych przeglądania z lokalnego profilu użytkownika - certificateProvider
-
Chrome 46 i nowsze wersje tylko ChromeOS
Ten interfejs API umożliwia ujawnianie certyfikatów platformie, która może ich używać do uwierzytelniania TLS.
- polecenia
-
Za pomocą interfejsu API poleceń możesz dodawać skróty klawiszowe wywołujące działania w rozszerzeniu, np. działanie powodujące otwarcie działania w przeglądarce lub wysłanie do rozszerzenia polecenia.
- contentSettings
-
Interfejs API
chrome.contentSettings
umożliwia zmianę ustawień określających, czy strony mogą korzystać z takich funkcji jak pliki cookie, JavaScript czy wtyczki. Ogólnie rzecz biorąc, ustawienia treści umożliwiają dostosowanie działania Chrome w wybranych witrynach, a nie globalnie. - contextMenus
-
Interfejs API
chrome.contextMenus
pozwala dodawać elementy do menu kontekstowego Google Chrome. Możesz wybrać typy obiektów, do których mają zastosowanie dodatki w menu kontekstowym, np. obrazy, hiperlinki i strony. - pliki cookie
-
Interfejs API
chrome.cookies
pozwala na wysyłanie zapytań i modyfikowanie plików cookie oraz otrzymywanie powiadomień o zmianach. - debugger
-
Interfejs API
chrome.debugger
służy jako alternatywny środek transportu dla protokołu zdalnego debugowania w Chrome. Użyjchrome.debugger
, aby dołączyć do co najmniej 1 karty, aby dodać instrument do interakcji z siecią, debugować JavaScript, mutować DOM i CSS i nie tylko. Użyj właściwościtabId
Debuggee
, aby kierować zdarzenia na karty z wartościąsendCommand
i kierować zdarzenia z wywołania zwrotnegoonEvent
przeztabId
. - declarativeContent
-
Interfejs API
chrome.declarativeContent
umożliwia wykonywanie działań w zależności od zawartości strony bez konieczności uzyskiwania uprawnień do odczytywania jej zawartości. - declarativeNetRequest
-
Chrome 84 i nowsze wersje
Interfejs API
chrome.declarativeNetRequest
służy do blokowania lub modyfikowania żądań sieciowych przez określenie reguł deklaratywne. Dzięki temu rozszerzenia mogą modyfikować żądania sieciowe bez ich przechwytywania i wyświetlania treści, co zwiększa prywatność. - desktopCapture
-
Interfejs Desktop Capture API przechwytuje zawartość ekranu, poszczególne okna lub poszczególne karty.
- devtools.inspectedWindow
-
Interfejs API
chrome.devtools.inspectedWindow
umożliwia interakcję ze sprawdzanym oknem: uzyskanie identyfikatora karty badanej strony, ocena kodu w kontekście sprawdzanego okna, ponowne załadowanie strony lub uzyskanie listy zasobów na stronie. - devtools.network
-
Interfejs API
chrome.devtools.network
służy do pobierania informacji o żądaniach sieciowych wyświetlanych przez Narzędzia dla deweloperów w panelu Sieć. - devtools.panels
-
Za pomocą interfejsu
chrome.devtools.panels
API zintegruj rozszerzenie z interfejsem okna Narzędzi dla programistów. Możesz tworzyć własne panele, uzyskiwać dostęp do dotychczasowych paneli i dodawać paski boczne. - devtools.recorder
-
Chrome 105 i nowsze wersje
Panel Dyktafonu w Narzędziach deweloperskich możesz dostosować za pomocą interfejsu
chrome.devtools.recorder
API. - dns
-
Wersja deweloperska
Do rozpoznawania nazw DNS używaj interfejsu
chrome.dns
API. - documentScan
-
Chrome 44 i nowsze Tylko ChromeOS
Używaj interfejsu
chrome.documentScan
API do wykrywania i pobierania obrazów z dołączonych skanerów dokumentów. - dom
-
Chrome 88 i nowsze wersje
Używaj interfejsu
chrome.dom
API, aby uzyskiwać dostęp do specjalnych interfejsów DOM API dla rozszerzeń - pobrania
-
Interfejs API
chrome.downloads
umożliwia programowe inicjowanie, monitorowanie i wyszukiwanie plików do pobrania oraz manipulowanie nimi. - enterprise.deviceAttributes
-
Interfejs API
chrome.enterprise.deviceAttributes
umożliwia odczytywanie atrybutów urządzenia. Uwaga: ten interfejs API jest dostępny tylko w przypadku rozszerzeń, których instalacja została wymuszona przez zasady firmy. - enterprise.hardwarePlatform
-
Chrome 71 i nowszy 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 w przypadku rozszerzeń zainstalowanych przez zasady przedsiębiorstwa. - enterprise.networkingAttributes
-
Używaj interfejsu
chrome.enterprise.networkingAttributes
API do odczytywania informacji o bieżącej sieci. Uwaga: ten interfejs API jest dostępny tylko w przypadku rozszerzeń, których instalacja została wymuszona przez zasady firmy. - enterprise.platformKeys
-
Tylko ChromeOS Wymaga zasady
Do generowania kluczy i instalowania certyfikatów dla tych kluczy używaj interfejsu API
chrome.enterprise.platformKeys
. Certyfikaty będą zarządzane przez platformę i można ich używać do uwierzytelniania TLS, dostępu do sieci lub za pomocą innego rozszerzenia za pomocą chrome.platformKeys. - zdarzenia
-
Przestrzeń nazw
chrome.events
zawiera typowe typy używane przez interfejsy API wysyłające zdarzenia w celu powiadamiania o interesujących wydarzeniach. - rozszerzenie
-
Interfejs
chrome.extension
API zawiera narzędzia, których można używać na dowolnej stronie rozszerzenia. Obejmuje ona obsługę wymiany wiadomości między rozszerzeniem a jego skryptami treści lub między rozszerzeniami. Szczegółowe informacje na ten temat znajdziesz w sekcji Przekazywanie wiadomości. - extensionTypes
-
Interfejs API
chrome.extensionTypes
zawiera deklaracje typów rozszerzeń do Chrome. - fileBrowserHandler
-
Tylko ChromeOS Tylko na pierwszym planie
Używaj interfejsu
chrome.fileBrowserHandler
API, aby rozszerzać możliwości przeglądarki plików Chrome OS. Dzięki niemu możesz na przykład umożliwić użytkownikom przesyłanie plików do Twojej witryny. - fileSystemProvider
-
Tylko ChromeOS
Za pomocą interfejsu API
chrome.fileSystemProvider
możesz tworzyć systemy plików, które będą dostępne w menedżerze plików w Chrome OS. - fontSettings
-
Do zarządzania ustawieniami czcionek Chrome używaj interfejsu API
chrome.fontSettings
. - gcm
-
Użyj
chrome.gcm
, aby umożliwić aplikacjom i rozszerzeniom wysyłanie i odbieranie wiadomości przez Komunikację w chmurze Firebase (FCM). - historia
-
Interfejs API
chrome.history
umożliwia interakcję z rejestrem odwiedzonych stron w przeglądarce. Możesz dodawać i usuwać adresy URL oraz tworzyć dotyczące ich zapytania w historii przeglądarki. Aby zastąpić stronę historii własną wersją, przeczytaj sekcję Zastąp strony. - I18N
-
Skorzystaj z infrastruktury
chrome.i18n
, aby wdrożyć internacjonalizację całej aplikacji lub rozszerzenia. - tożsamość
-
Użyj interfejsu
chrome.identity
API, aby uzyskać tokeny dostępu OAuth2. - nieaktywny
-
Interfejs
chrome.idle
API umożliwia wykrywanie zmian stanu bezczynności urządzenia. - input.ime
-
Za pomocą interfejsu API
chrome.input.ime
możesz zaimplementować niestandardowy edytor IME dla systemu operacyjnego Chrome. Dzięki temu rozszerzenie może obsługiwać naciśnięcia klawiszy, ustawiać kompozycję i zarządzać oknem propozycji. - instanceID
-
Chrome 44 i nowsze wersje
Aby uzyskać dostęp do usługi identyfikatorów instancji, użyj
chrome.instanceID
. - loginState
-
Chrome 78 i nowsze wersje tylko ChromeOS
Do odczytu i monitorowania stanu logowania użyj interfejsu API
chrome.loginState
. - filmami
-
Interfejs
chrome.management
API umożliwia zarządzanie listą zainstalowanych i uruchomionych rozszerzeń/aplikacji. Jest to szczególnie przydatne w przypadku rozszerzeń, które zastępują wbudowaną stronę Nowa karta. - powiadomień
-
Przy użyciu interfejsu API
chrome.notifications
możesz tworzyć zaawansowane powiadomienia za pomocą szablonów i wyświetlać je użytkownikom w obszarze powiadomień. - poza ekranem
-
Chrome 109 i nowsze MV3 i nowsze
Interfejsu API
offscreen
możesz używać do tworzenia dokumentów poza ekranem i zarządzania nimi. - omniboks
-
Interfejs API omniboksu pozwala zarejestrować słowo kluczowe za pomocą paska adresu Google Chrome, nazywanego też omniboksem.
- pageCapture
-
Użyj interfejsu API
chrome.pageCapture
, aby zapisać kartę w formacie MHTML. - uprawnienia
-
Używaj interfejsu
chrome.permissions
API, aby w czasie działania, a nie podczas instalacji, żądać zadeklarowanych opcjonalnych uprawnień. Dzięki temu użytkownicy będą rozumieć, do czego potrzebne są uprawnienia, i przyznają tylko niezbędne. - platformKeys
-
Chrome 45 i nowsze wersje tylko ChromeOS
Użyj interfejsu
chrome.platformKeys
API, aby uzyskać dostęp do certyfikatów klienta zarządzanych przez platformę. Jeśli użytkownik lub zasada przyzna te uprawnienia, rozszerzenie może używać takiego certyfikatu w swoim niestandardowym protokole uwierzytelniania. Pozwala to na przykład używać certyfikatów zarządzanych przez platformę w sieciach VPN innych firm (zobacz chrome.vpnProvider). - power
-
Zastępowanie funkcji zarządzania energią systemu za pomocą interfejsu API
chrome.power
. - printerProvider
-
Chrome 44 i nowsze wersje
Interfejs
chrome.printerProvider
API umożliwia zdarzenia używane przez menedżera drukowania, aby wysyłać zapytania o drukarki sterowane przez rozszerzenia, o ich możliwości i przesyłać zadania drukowania do tych drukarek. - drukowanie
-
Chrome 81 i nowsze wersje
Używaj interfejsu
chrome.printing
API, aby wysyłać zadania drukowania do drukarek zainstalowanych na Chromebooku. - printingMetrics
-
Używaj interfejsu API
chrome.printingMetrics
do pobierania danych o drukowaniu. - prywatność
-
Używaj interfejsu
chrome.privacy
API, aby kontrolować użycie funkcji Chrome, które mogą wpływać na prywatność użytkownika. Do pobierania i ustawiania konfiguracji Chrome używa prototypu ChromeSettingu API. - procesów,
-
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
. Do pobierania i ustawiania konfiguracji serwera proxy ten interfejs API używa prototypu ChromeSettingu API. - readingList
-
Chrome 120 i nowsze MV3 i nowsze
Do odczytywania i modyfikowania elementów na liście Do przeczytania używaj interfejsu API
chrome.readingList
. - środowisko wykonawcze
-
Użyj interfejsu
chrome.runtime
API, aby pobrać skrypt service worker, zwrócić szczegóły pliku manifestu oraz nasłuchiwać zdarzeń w cyklu życia rozszerzenia i na nie odpowiadać. Za pomocą tego interfejsu API możesz też konwertować względne ścieżki adresów URL na pełne i jednoznaczne adresy URL. - skrypty
-
Chrome 88 i nowsze wersje MV3 i nowsze
Interfejs API
chrome.scripting
umożliwia wykonywanie skryptu w różnych kontekstach. - search
-
Chrome 87 i nowsze wersje
Użyj interfejsu API
chrome.search
, aby wyszukiwać według domyślnego dostawcy. - sesje
-
Interfejs API
chrome.sessions
służy do tworzenia zapytań dotyczących kart i okien z sesji przeglądania oraz do ich przywracania. - sidePanel
-
Chrome 114 i nowsze MV3 i nowsze
Interfejs API
chrome.sidePanel
umożliwia przechowywanie treści w panelu bocznym przeglądarki razem z główną treścią strony internetowej. - miejsce na dane
-
Przechowuj, pobieraj i śledź zmiany danych użytkownika za pomocą interfejsu
chrome.storage
API. - system.cpu
-
Wysyłanie zapytań o metadane procesora za pomocą interfejsu API
system.cpu
. - system.display
-
Aby przesłać zapytanie o metadane wyświetlania, użyj interfejsu API
system.display
. - system.memory
-
Interfejs API
chrome.system.memory
. - system.storage
-
Interfejs
chrome.system.storage
API umożliwia wysyłanie zapytań o informacje o urządzeniach pamięci masowej i otrzymywanie powiadomień o podłączeniu i odłączeniu urządzenia pamięci masowej. - systemLog
-
Interfejs API
chrome.systemLog
umożliwia rejestrowanie dzienników systemowych Chrome z rozszerzeń. - tabCapture
-
Używaj interfejsu
chrome.tabCapture
API do interakcji ze strumieniami multimediów z karty. - tabGroups
-
Chrome 89 i nowsze wersje MV3 i nowsze
Interfejs API
chrome.tabGroups
umożliwia interakcję z systemem grupowania kart przeglądarki. Za pomocą tego interfejsu API możesz modyfikować grupy kart i zmieniać ich kolejność w przeglądarce. Aby grupować i rozgrupowywać karty lub sprawdzać, które karty należą do grup, użyj interfejsu APIchrome.tabs
. - karty
-
Interfejs API
chrome.tabs
umożliwia interakcję z systemem kart przeglądarki. Przy użyciu tego interfejsu API możesz tworzyć, modyfikować i zmieniać kolejność kart w przeglądarce. - topSites
-
Aby uzyskać dostęp do najpopularniejszych witryn (tzn. najczęściej odwiedzanych) wyświetlanych na stronie nowej karty, użyj interfejsu API
chrome.topSites
. Nie obejmują one skrótów dostosowanych przez użytkownika. - tts
-
Do odtwarzania syntetycznego tekstu na mowę (TTS) używaj interfejsu API
chrome.tts
. Zapoznaj się też z powiązanym interfejsem APIttsEngine
, który umożliwia rozszerzeniu wdrożenie mechanizmu rozpoznawania mowy. - ttsEngine
-
Aby wdrożyć mechanizm zamiany tekstu na mowę za pomocą rozszerzenia, użyj interfejsu API
chrome.ttsEngine
. Jeśli rozszerzenie zostanie zarejestrowane przy użyciu tego interfejsu API, będzie ono otrzymywać zdarzenia zawierające wypowiedź do wypowiedzenia i inne parametry, gdy dowolne rozszerzenie lub aplikacja Chrome używa interfejsu APItts
do generowania mowy. Rozszerzenie może następnie za pomocą dowolnej dostępnej technologii internetowej syntetyzować i generować mowę oraz wysyłać zdarzenia z powrotem do funkcji wywołującej, by zgłosić stan. - typy
-
Interfejs API
chrome.types
zawiera deklaracje typów dla Chrome. - userScripts
-
Chrome 120 i nowsze MV3 i nowsze
Interfejs API
userScripts
umożliwia wykonywanie skryptów użytkownika w kontekście Skrypty użytkownika. - vpnProvider
-
Chrome 43 i nowsze wersje tylko ChromeOS
Użyj interfejsu API
chrome.vpnProvider
, aby wdrożyć klienta VPN. - tapeta
-
Chrome 43 i nowsze wersje tylko ChromeOS
Aby zmienić tapetę ChromeOS, użyj interfejsu API
chrome.wallpaper
. - webAuthenticationProxy
-
Chrome 115 i nowsze MV3 i nowsze
Interfejs
chrome.webAuthenticationProxy
API pozwala oprogramowaniu pulpitu zdalnego na hoście zdalnym na 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 przesyłanych żądań nawigacji. - webRequest
-
Interfejs API
chrome.webRequest
umożliwia obserwowanie i analizę ruchu oraz przechwytywanie, blokowanie lub modyfikowanie przesyłanych żądań. - okna
-
Używaj interfejsu
chrome.windows
API do interakcji z oknami przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i zmieniać kolejność okien w przeglądarce.