Po przeczytaniu sekcji Wprowadzenie użyj tego przewodnika jako konspektu komponentów rozszerzenia, ich możliwości i sposobów łączenia. Najpierw zapoznaj się z możliwościami rozszerzeń: Następnie dowiedz się, jak łączyć te funkcje, korzystając z sekcji podstawowe pojęcia dotyczące rozszerzeń.

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.
Użyj interfejsu browser.sidePanel API, aby hostować 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 Narzędzi deweloperskich dodają funkcje do Narzędzi deweloperskich w Chrome, uzyskując dostęp do interfejsów API rozszerzeń specyficznych dla Narzędzi deweloperskich za pomocą strony Narzędzi deweloperskich dodanej do rozszerzenia. Możesz też użyć interfejsu browser.debugger API, aby wywołać protokół zdalnego debugowania Chrome. Dołącz do co najmniej 1 karty, aby instrumentować interakcje sieciowe, debugować JavaScript, modyfikować DOM i wykonywać inne czynności.
Interfejs browser.notifications API umożliwia tworzenie powiadomień za pomocą szablonów i wyświetlanie ich użytkownikom w obszarze powiadomień.
Użyj interfejsu browser.history API, aby korzystać z zapisów przeglądarki dotyczących odwiedzonych stron, a interfejsu browser.browsingData API do zarządzania innymi danymi przeglądania. Użyj browser.topSites, aby uzyskać dostęp do najczęściej odwiedzanych stron.
Używaj interfejsów API, takich jak browser.tabs, browser.tabGroupsbrowser.windows, aby tworzyć, modyfikować i porządkować przeglądarkę użytkownika.
Użyj interfejsu browser.commands API, aby dodać skróty klawiszowe, które wywołują działania w rozszerzeniu. Możesz na przykład dodać skrót do otwierania działania przeglądarki lub wysyłania polecenia do rozszerzenia.
Użyj interfejsu browser.identity API, aby uzyskać tokeny dostępu OAuth 2.0.
Interfejs browser.management API umożliwia zarządzanie listą zainstalowanych i działających rozszerzeń. Jest to szczególnie przydatne w przypadku rozszerzeń, które zastępują wbudowaną stronę nowej karty.
Interfejs browser.omnibox API umożliwia zarejestrowanie słowa kluczowego w omniboksie (pasku adresu) Google Chrome.
Użyj interfejsu browser.privacy API, aby kontrolować korzystanie z funkcji Chrome, które mogą wpływać na prywatność użytkownika. Zobacz też interfejs browser.proxy API do zarządzania ustawieniami serwera proxy w Chrome.
Użyj interfejsu browser.downloads API, aby automatycznie inicjować, monitorować, modyfikować i wyszukiwać pobierane pliki.
Do tworzenia tych list, organizowania ich i wykonywania na nich innych operacji używaj interfejsów browser.bookmarks API i browser.readingList API.

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.
Używaj interfejsów API browser.declarativeNetRequest, browser.webRequestbrowser.webNavigation do obserwowania, blokowania i modyfikowania żądań sieciowych.
Poznaj różne podejścia do nagrywania dźwięku i obrazu z karty, okna lub ekranu za pomocą interfejsów API platformy internetowej, takich jak browser.tabCapture czy getDisplayMedia().
Użyj interfejsu browser.contentSettings API, aby określić, czy witryny mogą korzystać z takich funkcji, jak pliki cookie, JavaScript i wtyczki. Ustawienia treści umożliwiają dostosowywanie działania Chrome w przypadku poszczególnych witryn, 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.
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.
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".
Dowiedz się, jak Chrome aktualizuje rozszerzenia i jak monitorować rozpowszechnianie aktualizacji rozszerzeń.

Więcej tematów