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.
Interfejs API chrome.sidePanel służy do hostowania treści w panelu bocznym przeglądarki obok głównej treści strony internetowej.
Możesz kontrolować wyświetlanie ikony rozszerzenia na pasku narzędzi.
Dodaj elementy do menu kontekstowego Google Chrome.

Sterowanie przeglądarką

Interfejsy API rozszerzeń do Chrome umożliwiają zmianę sposobu działania przeglądarki.
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ę.
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.
Interfejs chrome.notifications API umożliwia tworzenie powiadomień za pomocą szablonów i wyświetlanie ich w obszarze powiadomień użytkownika.
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.
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.
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.
Użyj interfejsu API chrome.identity, aby uzyskać tokeny dostępu OAuth 2.0.
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.
chrome.omnibox API umożliwia rejestrowanie słowa kluczowego w omniboksie (pasku adresu) Google 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.
Za pomocą interfejsu API chrome.downloads możesz programowo inicjować, monitorować i wyszukiwać pobieranie oraz manipulować nim.
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.
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.
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.
Za pomocą interfejsów API chrome.declarativeNetRequest, chrome.webRequest i chrome.webNavigation możesz obserwować, blokować i modyfikować żądania sieciowe.
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().
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ń.
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.
Poznaj uprawnienia: jak działają i kiedy nie pytać o nie, gdy nie są potrzebne.
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.
Włącz rozszerzenia, aby wymieniać wiadomości z aplikacjami natywnymi.
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.
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.
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 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".

Więcej tematów