Dokumentacja API

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 uprawnienie accessibilityFeatures.read. Aby można było zmodyfikować stan funkcji, rozszerzenie wymaga uprawnienia accessibilityFeatures.modify. Pamiętaj, że accessibilityFeatures.modify nie sugeruje uprawnienia accessibilityFeatures.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żyj chrome.debugger, aby dołączyć do jednej lub kilku kart do obsługi interakcji z siecią, debugowania JavaScript, mutacji DOM i CSS itp. Użyj interfejsu Debuggee tabId, aby ustawić kierowanie na karty z sendCommand i kierowanie zdarzeń tabId z wywołań zwrotnych onEvent.

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
Chrome 46 i nowsze Tylko ChromeOS Wymaga zasad

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
Chrome 85 i nowsze Tylko ChromeOS Wymaga zasad

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ą {@link platformKeys 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 (patrz {@link vpnProvider 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
Chrome 79 i nowsze Tylko ChromeOS Wymaga zasad

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
Oczekuje Tylko ChromeOS Wymaga zasady

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 API chrome.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 API {@link ttsEngine}, który umożliwia rozszerzenie wdrożenia mechanizmu rozpoznawania mowy.

ttsEngine

Aby wdrożyć mechanizm zamiany tekstu na mowę za pomocą rozszerzenia, użyj interfejsu API chrome.ttsEngine. Jeśli Twoje rozszerzenie zarejestruje się przy użyciu tego interfejsu API, będzie ono otrzymywać zdarzenia zawierające wypowiedzi do odczytania oraz inne parametry, gdy dowolne rozszerzenie lub aplikacja Chrome używa interfejsu API {@link tts} 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.