Programowanie
Po przeczytaniu sekcji Pierwsze kroki zapoznaj się z tym przewodnikiem, aby poznać komponenty rozszerzeń, ich możliwości w interfejsie Manifest V3 oraz sposób ich łączenia. Najpierw zapoznaj się z funkcjami rozszerzeń: Następnie w sekcji z podstawowymi pojęciami dowiesz się, jak połączyć te funkcje.
Projektowanie interfejsu
Większość rozszerzeń do działania wymaga pewnej interakcji użytkownika. Platforma rozszerzeń oferuje wiele sposobów dodawania interakcji do rozszerzeń. Dotyczy to wyskakujących okienek uruchamianych z paska narzędzi Chrome, paneli bocznych, menu kontekstowych i innych elementów.
Panel boczny
Interfejs API
chrome.sidePanel
służy do hostowania treści w panelu bocznym przeglądarki obok głównej treści strony internetowej.
Działanie
Możesz kontrolować wyświetlanie ikony rozszerzenia na pasku narzędzi.
Menu
Dodaj elementy do menu kontekstowego Google Chrome.
Sterowanie przeglądarką
Interfejsy API rozszerzeń do Chrome umożliwiają zmianę sposobu działania przeglądarki.
Zastąp strony i ustawienia Chrome
Zastąpienia ustawień umożliwiają rozszerzeniom zastępowanie wybranych ustawień Chrome. Poza tym rozszerzenia mogą używać kodu HTML do zastępowania stron, aby zastąpić stronę normalnie dostępną w Google Chrome. Rozszerzenie może zastąpić menedżera zakładek, kartę historii lub nową kartę.
Rozszerzanie narzędzi deweloperskich
Rozszerzenia z Narzędzi deweloperskich dodają funkcje do Narzędzi deweloperskich w Chrome, uzyskując dostęp do interfejsów API rozszerzeń typowych dla Narzędzi deweloperskich za pomocą dodanej do rozszerzenia strony Narzędzi deweloperskich. Możesz też użyć interfejsu API
chrome.debugger
, aby wywołać protokół zdalnego debugowania Chrome. Dołącz do co najmniej 1 karty, aby dostosować interakcję z siecią, debugować JavaScript, mutować DOM i nie tylko.
Wyświetlanie powiadomień
Interfejs
chrome.notifications
API umożliwia tworzenie powiadomień za pomocą szablonów i wyświetlanie ich w obszarze powiadomień użytkownika.
Zarządzaj historią
Interfejs API
chrome.history
umożliwia interakcję z rejestrem odwiedzonych stron w przeglądarce oraz interfejs API chrome.browsingData
do zarządzania innymi danymi przeglądania. Użyj chrome.topSites
, aby przejść do najczęściej odwiedzanych stron.
Zarządzanie kartami i oknami
Za pomocą interfejsów API takich jak
chrome.tabs
, chrome.tabGroups
i chrome.windows
możesz tworzyć, modyfikować i porządkować przeglądarkę użytkownika.
Dodawanie skrótów klawiszowych
Za pomocą interfejsu API
chrome.commands
możesz dodać skróty klawiszowe, które będą uruchamiać działania w rozszerzeniu. Możesz na przykład dodać skrót powodujący otwarcie działania przeglądarki lub wysłanie polecenia do rozszerzenia.
Uwierzytelniaj użytkowników
Użyj interfejsu API
chrome.identity
, aby uzyskać tokeny dostępu OAuth 2.0.
Zarządzanie rozszerzeniami
Interfejs API
chrome.management
umożliwia zarządzanie listą zainstalowanych i uruchomionych rozszerzeń. Jest to szczególnie przydatne w przypadku rozszerzeń, które zastępują wbudowaną stronę Nowa karta.
Pokazuj sugestie
chrome.omnibox
API umożliwia rejestrowanie słowa kluczowego w omniboksie (pasku adresu) Google Chrome.
Zaktualizuj ustawienia Chrome
Za pomocą interfejsu API
chrome.privacy
możesz kontrolować wykorzystanie funkcji Chrome, które mogą mieć wpływ na prywatność użytkowników. Zapoznaj się też z interfejsem API chrome.proxy
, aby zarządzać ustawieniami serwera proxy Chrome.
Zarządzanie pobranymi plikami
Za pomocą interfejsu API
chrome.downloads
możesz programowo inicjować, monitorować i wyszukiwać pobieranie oraz manipulować nim.
Korzystanie z zakładek i listy Do przeczytania
Za pomocą interfejsów API
chrome.bookmarks
i chrome.readingList
API możesz tworzyć i porządkować te listy oraz nimi zarządzać.
Kontroluj internet
Dynamicznie zmieniaj zawartość i działanie stron internetowych. Możesz kontrolować i modyfikować sieć, wstawiając skrypty, przechwytując żądania sieciowe oraz używając internetowych interfejsów API do interakcji ze stronami.
Wstrzyknij JavaScript i CSS
Skrypty treści to pliki, które działają w kontekście stron internetowych. Stosują one standardowy model obiektu dokumentu (Document Object Model, DOM) w celu odczytywania szczegółów stron internetowych odwiedzanych przez przeglądarkę, wprowadzania w nich zmian i przekazywania informacji do rozszerzenia nadrzędnego.
Dostęp do aktywnej karty
Uprawnienie
"activeTab"
daje rozszerzeniu tymczasowy dostęp do obecnie aktywnej karty, gdy użytkownik wywoła je, na przykład klikając jego działanie. Dostęp do karty jest utrzymywany, gdy użytkownik znajduje się na danej stronie, i cofany, gdy użytkownik ją opuści lub zamknie.
Kontrolowanie żądań internetowych
Za pomocą interfejsów API
chrome.declarativeNetRequest
, chrome.webRequest
i chrome.webNavigation
możesz obserwować, blokować i modyfikować żądania sieciowe.
Nagrywanie dźwięku i przechwytywanie ekranu
Poznaj różne metody nagrywania dźwięku i obrazu z karty, okna lub ekranu za pomocą interfejsów API platform internetowych, takich jak
chrome.tabCapture
czy getDisplayMedia()
.
Modyfikowanie ustawień witryny
Za pomocą interfejsu API
chrome.contentSettings
możesz określić, 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 wybranych witrynach, a nie globalnie.
Podstawowe pojęcia
Korzystając z interfejsów API platform internetowych i rozszerzeń, można tworzyć bardziej złożone funkcje, łącząc różne komponenty interfejsu użytkownika i funkcje platformy rozszerzeń.
Skrypty service worker
Skrypt service worker rozszerzenia (service-worker.js) to skrypt działający na podstawie zdarzeń, który przeglądarka działa w tle. Często używa się jej do przetwarzania danych, koordynowania zadań w różnych częściach rozszerzenia oraz jako menedżera zdarzeń rozszerzenia.
Uprawnienia
Poznaj uprawnienia: jak działają i kiedy nie pytać o nie, gdy nie są potrzebne.
Filtrowanie treści
Istnieją różne sposoby wdrażania filtrowania treści i sieci w rozszerzeniach do Chrome. Dowiedz się więcej o możliwościach filtrowania treści dostępnych w przypadku rozszerzeń oraz różnych metodach filtrowania, technikach i interfejsach API, z których mogą korzystać rozszerzenia do Chrome.
Wiadomości
Często skrypty treści lub inne strony rozszerzeń muszą wysyłać informacje do skryptu service worker rozszerzeń lub je z niego otrzymywać. W takim przypadku obie strony mogą słuchać wiadomości wysłanych z drugiego końca i odpowiadać, korzystając z tego samego kanału.
Wiadomości natywne
Włącz rozszerzenia, aby wymieniać wiadomości z aplikacjami natywnymi.
Unikaj kodu hostowanego zdalnie
W komponencie Manifest V3 rozszerzenia muszą połączyć się w pakiet z całym kodem, którego używają w samym rozszerzeniu. Można to robić na różne sposoby.
Pamięć
Rozszerzenia do Chrome mają specjalny interfejs Storage API, który jest dostępny dla wszystkich komponentów rozszerzeń. Zawiera 4 osobne miejsce na dane do konkretnych przypadków użycia oraz detektor zdarzeń, który śledzi każdą aktualizację danych.
Dokumenty poza ekranem
Skrypty service worker nie mają dostępu do modelu DOM. Interfejs Offscreen API umożliwia rozszerzeniu korzystanie z interfejsów DOM API w ukrytym dokumencie bez zakłócania wrażeń użytkownika przez otwieranie nowych okien lub kart.
Izolacja z innych źródeł
Izolacja zasobów z innych domen umożliwia stronie internetowej korzystanie z zaawansowanych funkcji, takich jak
SharedArrayBuffer
. Rozszerzenie może włączyć izolację zasobów z innych domen, określając odpowiednie wartości kluczy manifestu "cross_origin_embedder_policy"
i "cross_origin_opener_policy"
.