Dokumentacja API

Większość rozszerzeń wymaga dostępu do co najmniej jednego interfejsu API rozszerzeń Chrome. Ten przewodnik po interfejsach API zawiera opis interfejsów API dostępnych do użycia w rozszerzeniach oraz przykłady zastosowań.

accessibilityFeatures

Aby zarządzać funkcjami ułatwień dostępu w Chrome, użyj interfejsu API chrome.accessibilityFeatures. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania poszczególnych funkcji ułatwień dostępu. Aby uzyskać stany funkcji, rozszerzenie musi poprosić o uprawnienia accessibilityFeatures.read. Aby zmodyfikować stan funkcji, rozszerzenie musi mieć uprawnienia accessibilityFeatures.modify. Pamiętaj, że uprawnienie accessibilityFeatures.modify nie oznacza uprawnienia accessibilityFeatures.read.

alarms

Użyj interfejsu API chrome.alarms, aby zaplanować wykonywanie kodu okresowo lub w określonym czasie w przyszłości.

audio
Chrome 59 i nowsze wersje Tylko w systemie ChromeOS

Interfejs API chrome.audio umożliwia użytkownikom uzyskiwanie informacji o podłączonych do systemu urządzeniach audio oraz ich kontrolowanie. Ten interfejs API jest obecnie dostępny tylko w trybie kiosku w systemie ChromeOS.

zakładki,

Użyj interfejsu API chrome.bookmarks do tworzenia, porządkowania i modyfikowania zakładek. Zobacz też artykuł Override Pages API, który umożliwia tworzenie niestandardowej strony Menedżera zakładek.

browserAction
≤ MV2

Za pomocą działań w przeglądarce możesz umieszczać ikony na głównym pasku narzędzi Google Chrome z prawej strony paska adresu. Oprócz ikony działanie w przeglądarce może mieć wyskakujące okienko, plakietkęokienko.

browsingData

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

certificateProvider
Chrome 46 i nowsze wersje Tylko w systemie ChromeOS

Używaj tego interfejsu API, aby udostępniać certyfikaty platformie, która może używać tych certyfikatów do uwierzytelniania TLS.

polecenia

Za pomocą interfejsu komend API możesz dodawać skróty klawiszowe, które wywołują działania w rozszerzeniu, np. otwierają działanie przeglądarki lub wysyłają do rozszerzenia polecenie.

contentSettings

Użyj interfejsu API chrome.contentSettings, aby zmienić ustawienia, które kontrolują, czy witryny 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

Użyj interfejsu API chrome.contextMenus, aby dodać elementy do menu kontekstowego Google Chrome. Możesz wybrać, do jakich typów obiektów mają się odnosić elementy menu kontekstowego, np. obrazy, hiperlinki i strony.

ciasteczka

Użyj interfejsu API chrome.cookies, aby wysyłać zapytania o pliki cookie i je modyfikować oraz otrzymywać powiadomienia o ich zmianach.

debuger

Interfejs chrome.debugger API służy jako alternatywny transport dla protokołu zdalnego debugowania w Chrome. Użyj chrome.debugger, aby dołączyć jedną lub więcej kart do interakcji z siecią instrumentu, debugować JavaScript, modyfikować DOM i CSS oraz wykonywać inne czynności. Użyj właściwości tabId Debuggee, aby kierować reklamy na karty z użyciem parametru sendCommand, i kieruj zdarzenia za pomocą parametru tabId z funkcji zwrotnych wywołania onEvent.

declarativeContent

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

declarativeNetRequest
Chrome 84 lub nowszy

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 sieci bez ich przechwytywania i przeglądania zawartości, co zapewnia większą prywatność.

declarativeWebRequest
Kanały w wersji beta ≤ MV2

Uwaga: ten interfejs API został wycofany. Zamiast tego użyj interfejsu API declarativeNetRequest. Użyj interfejsu API chrome.declarativeWebRequest, aby przechwytywać, blokować i modyfikować żądania w trakcie przesyłania. Jest on znacznie szybszy niż interfejs API chrome.webRequest, ponieważ możesz rejestrować reguły, które są oceniane w przeglądarce, a nie w silniku JavaScript, co zmniejsza opóźnienia i zwiększa wydajność.

desktopCapture

Interfejs API Desktop Capture umożliwia przechwytywanie zawartości ekranu, poszczególnych okien lub kart.

devtools.inspectedWindow

Aby wchodzić w interakcję z przeglądanym oknem, użyj interfejsu API chrome.devtools.inspectedWindow: uzyskaj identyfikator karty przeglądanej strony, oceń kod w kontekście przeglądanego okna, ponownie załaduj stronę lub uzyskaj listę zasobów na stronie.

devtools.network

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

devtools.panels

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

devtools.performance
Chrome 129 lub nowszy

Aby słuchać aktualizacji stanu nagrywania w panelu Wydajność w Narzędziach deweloperskich, użyj interfejsu API chrome.devtools.performance.

devtools.recorder
Chrome w wersji 105 lub nowszej

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

dns
Kanał dla programistów

Do rozwiązywania adresów DNS użyj interfejsu API chrome.dns.

documentScan
Chrome 44 i nowsze Tylko w ChromeOS

Aby wykrywać i pobierać obrazy ze skanerów dokumentów, użyj interfejsu chrome.documentScan API.

dom
Chrome 88 lub nowszy

Korzystanie z interfejsu chrome.dom API do uzyskiwania dostępu do specjalnych interfejsów DOM API dla rozszerzeń

downloads

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

enterprise.deviceAttributes
Chrome 46 lub nowszy Tylko w ChromeOS Wymaga ustawienia zasad

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 przedsiębiorstwa.

enterprise.hardwarePlatform
Chrome 71 lub nowszy Wymaga ustawienia zasad

Aby poznać producenta i model platformy sprzętowej, na której działa przeglądarka, użyj interfejsu API chrome.enterprise.hardwarePlatform. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń zainstalowanych na podstawie zasad przedsiębiorstwa.

enterprise.login
Oczekuje Tylko w ChromeOS Wymaga ustawienia zasad

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 na podstawie zasad firmy w ramach zarządzanych sesji gościa w ChromeOS.

enterprise.networkingAttributes
Chrome 85 i nowsze Tylko w ChromeOS Wymaga ustawienia zasad

Aby odczytać informacje o bieżącej sieci, użyj interfejsu API chrome.enterprise.networkingAttributes. Uwaga: ten interfejs API jest dostępny tylko dla rozszerzeń, których instalacja została wymuszona na podstawie zasad przedsiębiorstwa.

enterprise.platformKeys
Tylko w ChromeOS Wymaga ustawienia zasad

Użyj interfejsu API chrome.enterprise.platformKeys, aby wygenerować klucze i zainstalować certyfikaty dla tych kluczy. Certyfikatami będzie zarządzać platforma. Można ich używać do uwierzytelniania TLS, dostępu do sieci lub przez inne rozszerzenie za pomocą interfejsu chrome.platformKeys.

zdarzenia

Przestrzeń nazw chrome.events zawiera typowe typy używane przez interfejsy API do wysyłania zdarzeń, które informują o wystąpieniu czegoś interesującego.

extension

Interfejs API chrome.extension zawiera narzędzia, których można używać na dowolnej stronie rozszerzenia. Obejmuje to obsługę wymiany wiadomości między rozszerzeniem a jego skryptami treści lub między rozszerzeniami, jak opisano szczegółowo w sekcji Przesyłanie wiadomości.

extensionTypes

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

fileBrowserHandler
Tylko w ChromeOS Tylko w tle

Użyj interfejsu API chrome.fileBrowserHandler, 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 w systemie ChromeOS

Użyj interfejsu API chrome.fileSystemProvider, aby utworzyć systemy plików, które będą dostępne w menedżerze plików w systemie operacyjnym Chrome.

fontSettings

Aby zarządzać ustawieniami czcionek w Chrome, użyj interfejsu API chrome.fontSettings.

gcm

Użyj opcji 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 uzyskać dostęp do rekordu odwiedzonych stron w przeglądarce. Możesz dodawać, usuwać i wyszukiwać adresy URL w historii przeglądarki. Aby zastąpić stronę z historią własną wersją, zapoznaj się z artykułem Zastępowanie stron.

i18n

Aby wdrożyć międzynarodowość w całej aplikacji lub rozszerzeniu, użyj infrastruktury chrome.i18n.

identity

Aby uzyskać tokeny dostępu OAuth2, użyj interfejsu API chrome.identity.

idle

Użyj interfejsu API chrome.idle, aby wykryć, kiedy stan bezczynności urządzenia ulega zmianie.

input.ime
Tylko w systemie ChromeOS

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

instanceID
Chrome 44 lub nowszy

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

loginState
Chrome 78 i nowsze wersje Tylko w systemie ChromeOS

Aby odczytywać i monitorować stan logowania, użyj interfejsu API chrome.loginState.

filmami

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

powiadomienia

Za pomocą interfejsu chrome.notifications API możesz tworzyć powiadomienia za pomocą szablonów i wyświetlać je użytkownikom na pasku systemowym.

omnibox

Interfejs API omniboksa umożliwia zarejestrowanie słowa kluczowego w pasku adresu w Google Chrome, który jest też nazywany omniboksem.

pageAction
≤ MV2

Użyj interfejsu API chrome.pageAction, aby umieścić ikony na głównym pasku narzędzi Google Chrome, po prawej stronie paska adresu. Działania dotyczące strony to działania, które można wykonać na bieżącej stronie, ale które nie są dostępne na wszystkich stronach. Gdy są nieaktywne, działania na stronie są wyszarzone.

pageCapture

Aby zapisać kartę jako MHTML, użyj interfejsu API chrome.pageCapture.

uprawnienia

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

platformKeys
Chrome 45 i nowsze Tylko w systemie ChromeOS

Aby uzyskać dostęp do certyfikatów klienta zarządzanych przez platformę, użyj interfejsu API chrome.platformKeys. Jeśli użytkownik lub zasady przyznają uprawnienia, rozszerzenie może używać takiego certyfikatu w ramach niestandardowego protokołu uwierzytelniania. Umożliwia to np. korzystanie z certyfikatów zarządzanych przez platformę w przypadku usług VPN innych firm (patrz chrome.vpnProvider).

power

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

printerProvider
Chrome 44 lub nowszy

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.

drukowanie
Chrome 81 i nowsze wersje Tylko w ChromeOS

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

printingMetrics
Chrome 79 lub nowszy Tylko w ChromeOS Wymaga zasady

Aby pobrać dane o używaniu drukowania, użyj interfejsu API chrome.printingMetrics.

prywatność

Za pomocą interfejsu API chrome.privacy możesz kontrolować korzystanie z funkcji w Chrome, które mogą wpływać na prywatność użytkownika. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania konfiguracji Chrome.

procesy
Kanał dla programistów

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

proxy

Aby zarządzać ustawieniami serwera proxy w Chrome, użyj interfejsu API chrome.proxy. Ten interfejs API korzysta z prototypu ChromeSetting typu API do pobierania i ustawiania konfiguracji serwera proxy.

runtime

Użyj interfejsu API chrome.runtime, aby pobrać usługę w tle, zwrócić szczegóły manifestu i odbierać zdarzenia w cyklu życia rozszerzenia oraz na nie odpowiadać. Za pomocą tego interfejsu API możesz też konwertować względną ścieżkę adresów URL na pełne adresy URL.

search
Chrome 87 lub nowszy

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

sesji,

Użyj interfejsu chrome.sessions API, aby wysłać zapytanie o zakładki i okna z sesji przeglądania oraz je przywrócić.

storage

Użyj interfejsu API chrome.storage, aby przechowywać, pobierać i śledzić zmiany w danych użytkownika.

system.cpu

Aby wysyłać zapytania o metadane procesora, użyj interfejsu API system.cpu.

system.display

Aby wysłać zapytanie o metadane wyświetlania, użyj interfejsu API system.display.

system.memory

Interfejs API chrome.system.memory.

system.storage

Użyj interfejsu API chrome.system.storage, aby zapytać o informacje dotyczące urządzenia pamięci masowej i otrzymać powiadomienie, gdy urządzenie pamięci wymiennej zostanie podłączone lub odłączone.

systemLog
Chrome 125 i nowsze Tylko w ChromeOS Wymaga ustawienia zasad

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

tabCapture

Korzystanie z interfejsu API chrome.tabCapture do interakcji z strumieniami multimediów w kartach.

karty

Użyj interfejsu API chrome.tabs, aby wchodzić w interakcje z systemem kart przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przestawiać karty w przeglądarce.

topSites

Użyj interfejsu API chrome.topSites, aby uzyskać dostęp do najpopularniejszych (czyli najczęściej odwiedzanych) witryn wyświetlanych na stronie nowej karty. Nie obejmują one skrótów dostosowanych przez użytkownika.

tts

Aby odtwarzać syntezowany tekst (TTS), użyj interfejsu API chrome.tts. Zapoznaj się też z powiązanym interfejsem API ttsEngine, który umożliwia rozszerzeniu implementację mechanizmu przetwarzania mowy.

ttsEngine

Aby zaimplementować mechanizm zamiany tekstu na mowę(TTS) za pomocą rozszerzenia, użyj interfejsu API chrome.ttsEngine. Jeśli rozszerzenie zarejestruje się za pomocą tego interfejsu API, będzie otrzymywać zdarzenia zawierające wypowiedź do wymówienia i inne parametry, gdy dowolne rozszerzenie lub aplikacja w Chrome będzie używać interfejsu API tts do generowania mowy. Rozszerzenie może następnie użyć dowolnej dostępnej technologii internetowej do syntezy i wyświetlenia mowy oraz wysłać zdarzenia z powrotem do funkcji wywołania, aby przekazać stan.

types

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

vpnProvider
Chrome 43 i nowsze Tylko w systemie ChromeOS

Aby zaimplementować klienta VPN, użyj interfejsu API chrome.vpnProvider.

tapeta
Chrome 43 i nowsze Tylko w systemie ChromeOS

Aby zmienić tapetę w ChromeOS, użyj interfejsu API chrome.wallpaper.

webNavigation

Aby otrzymywać powiadomienia o stanie żądań nawigacji w trakcie ich przetwarzania, użyj interfejsu API chrome.webNavigation.

webRequest

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

okna

Korzystaj z interfejsu chrome.windows API, aby wchodzić w interakcje z oknami przeglądarki. Za pomocą tego interfejsu API możesz tworzyć, modyfikować i przestawiać okna w przeglądarce.