Zaglądaj na tę stronę często, aby być na bieżąco z informacjami o zmianach w rozszerzeniach do Chrome, dokumentacji rozszerzeń lub powiązanych zasadach i innych zmianach. Inne powiadomienia opublikowane w grupie dyskusyjnej Google poświęconej rozszerzeń. Harmonogram Chrome zawiera daty stabilnych i wersji beta wydań.
Film: wywiad z zespołem ds. zaufania i bezpieczeństwa
Zespół ds. programistów rozszerzeń Chrome spotkał się z zespołem ds. zaufania i bezpieczeństwa, który odpowiada za sprawdzanie w Chrome Web Store. Obejrzyj cały film
Post na blogu: Rozpoczęcie wycofywania platformy Manifest V2
Jeśli użytkownicy nadal mają zainstalowane rozszerzenia Manifest V2 w Chrome od 3 czerwca w Chrome w wersji beta, deweloperskiej i Canary, na stronie zarządzania rozszerzeniami na stronie zarządzania rozszerzeniami (chrome://extensions) zacznie się wyświetlać baner z ostrzeżeniem informujący o tym, że niektóre zainstalowane przez nich rozszerzenia (Manifest V2) wkrótce przestaną być obsługiwane. Więcej informacji znajdziesz w oficjalnym ogłoszeniu
Zmiany w interfejsie panelu bocznego
Niedawno wprowadziliśmy kilka zmian w interfejsie panelu bocznego, w tym dodaliśmy ikonę pinezki i usunęliśmy globalną ikonę panelu bocznego. Więcej informacji znajdziesz w Reklamach Usług Lokalnych oraz w zaktualizowanej dokumentacji i przykładach.
Post na blogu: rozszerzenia do Chrome na Google I/O 2024
Za nami kolejna konferencja Google I/O, o której wspominaliśmy już o wszystkich ciekawych aktualizacjach rozszerzeń. Odwiedź YouTube, aby obejrzeć cały film i przeczytać posta na naszym blogu, w którym znajdziesz najważniejsze informacje.
Pomiń sprawdzanie odpowiednich zmian związanych z deklarowanym żądaniem netto
Chrome Web Store umożliwia teraz pominięcie sprawdzania kwalifikujących się zmian podczas korzystania z interfejsu Deklaative Net Request API. Więcej informacji o wymaganiach oraz o tym, jak włączyć tę funkcję, znajdziesz w dokumentacji Chrome Web Store.
wartość DeployPercentage dostępna w interfejsie Chrome Web Store API
Niedawno zaktualizowaliśmy dokumentację interfejsu Chrome Web Store API, aby uwzględnić informacje na temat: deployPercentage
, dzięki czemu możesz przypisać odsetek wdrożenia częściowego wdrożenia. Więcej informacji o deployPercentage
Chrome 126: wersje próbne origin w rozszerzeniach
W Chrome 126 wprowadziliśmy nowe pole manifest.json o nazwie trial_tokens
, które umożliwia udział w testach origin i próbach wycofania na wszystkich platformach. Więcej informacji znajdziesz w przewodniku.
Post na blogu: Co się dzieje w rozszerzeniach do Chrome – kwiecień 2024 r.
Opublikowaliśmy nowe wydanie artykułu Co się dzieje w rozszerzeniach do Chrome. Znajdziesz w nim informacje o tym, nad czym pracował zespół ds. rozszerzeń od kilku miesięcy. Obejmuje to między innymi przywrócenie poprzedniej wersji w Chrome Web Store, lepszą obsługę uwierzytelniania Firebase oraz nowe funkcje i aktualizacje interfejsów API.
Przywracanie wersji w panelu dewelopera Chrome Web Store
Przywróć rozszerzenie do poprzednio opublikowanej wersji w Chrome Web Store bez dodatkowego sprawdzania. Aby dowiedzieć się więcej, przeczytaj posta na blogu i dokumentację.
Chrome 124: zaawansowany interfejs documentScan API
W ChromeOS dostępny jest teraz zaawansowany interfejs documentScan
API umożliwiający wykrywanie i pobieranie obrazów z dołączonych skanerów dokumentów.
Chrome 124: obsługa WebGPU w skryptach Service Workers
Od wersji Chrome 124 mechanizmy Service Worker obsługują WebGPU. Na początek zapoznaj się z przykładowym rozszerzeniem WebGPU.
Chrome 123: interfejs Event API obsługuje filtrowanie według bloków CIDR
Interfejs Event API obsługuje teraz filtrowanie według bloków CIDR (Classless Inter-Domain Routing). Blok CIDR to zbiór adresów IP, które mają taki sam prefiks sieci i taką samą liczbę bitów. Wcześniej deweloper musiał filtrować wiele adresów IP, aby skonfigurować regułę filtrowania dla każdego adresu w zakresie blokad. Teraz gdy rozszerzenie wywołuje addListener()
, przekazywana w regule moduł obsługi zdarzeń będzie wywoływany tylko wtedy, gdy część hosta w adresie URL jest adresem IP i znajduje się w dowolnym z bloków CIDR określonych w tablicy.
Chrome Web Store: zmiany wymagań związanych z długością nazwy rozszerzenia
W sklepie Chrome Web Store obowiązuje teraz uniwersalny limit 75 znaków w polu "name"
rozszerzenia w pliku manifest.json. Wcześniej limit dla języka angielskiego wynosił 45 znaków, a w innych językach nie było ograniczeń dotyczących pola "name"
.
Jej celem było umożliwienie uchwycenia różnic kulturowych i językowych, których nie da się uchwycić tą samą liczbą znaków. Niestety ta funkcja została użyta przez niewielką liczbę deweloperów do rozsyłania spamu w sklepie. W związku z tym wprowadzamy nowy uniwersalny limit, który zwiększy się do 75 znaków. Ten limit obejmuje obecnie prawie wszystkie rozszerzenia w sklepie, więc najprawdopodobniej nie musisz nic robić w związku z tą zmianą. Jeśli spróbujesz przesłać rozszerzenie o nazwie dłuższej niż maksymalny, to przesłanie zostanie zablokowane przez sklep.
Post na blogu: droga Eyeo do testowania zawieszenia mechanizmów Service Worker
W tym poście, który napisał zespół eyeo, Extension Engine, przyjrzymy się problemowi testowania mechanizmów Service Worker rozszerzenia. W platformie Manifest V2 rozszerzenia znajdowały się na stronie w tle, która była aktywna w całym cyklu życia rozszerzenia. Manifest V3 wykorzystuje zamiast tego mechanizmy Service Worker, które z założenia oszczędzają zasoby, zamykając się, gdy nie są potrzebne. Wiąże się to z pewnymi wyzwaniami podczas testowania. W tym poście wyjaśniamy, jak firma Eyeo radziła sobie z tymi wyzwaniami.
Chrome 123: teraz alarmy uruchamiają się, gdy urządzenie jest uśpione
Alarmy ustawione za pomocą interfejsu API chrome.alarms
nie są już opóźnione w momencie przejścia urządzenia w tryb uśpienia. Po wybudzeniu urządzenie
wybudzi się bez względu na to, ile alarmów zostało pominiętych. Załóżmy na przykład, że ustawiony jest alarm, który uruchamia się raz na godzinę, a urządzenie, na którym jest włączone, jest w stanie uśpienia od 00:55 do 2:05, wówczas tylko alarm ustawiony na 2:00 wywołuje zdarzenie onAlarm
.
Włącza się najpóźniej o 2:00 i od razu po wybudzeniu
lub w trybie uśpienia.
Ta zmiana pozwala dostosować Chrome do zasad określonych w grupie społeczności rozszerzeń internetowych.
Post na blogu: zmiany w działaniu pamięci podręcznej (bfcache) związane z portami wiadomości rozszerzeń
Pamięć podręczna stanu strony internetowej (bfcache) to optymalizacja przeglądarki, która umożliwia błyskawiczną nawigację wstecz i do przodu. Od Chrome 123, gdy strona z otwartym portem rozszerzenia jest przechowywana w pamięci podręcznej stanu strony internetowej, kanał wiadomości jest zamknięty, co oznacza, że nie są na nią wysyłane żadne wiadomości.
Dlatego skrypty rozszerzeń powinny nasłuchiwać zdarzeń cyklu życia, np. onDisconnect
, i skonfigurować nowe połączenie po przywróceniu strony z BFCache.
Więcej informacji i przykładowy kod znajdziesz w artykule o zmianach w działaniu BFCache związanych z portami wiadomości rozszerzeń.
Chrome 122: obiecywanie obsługi interfejsów API rozszerzeń asynchronicznych
Zakończyliśmy wdrażanie funkcji Promise w przypadku wszystkich metod interfejsu API rozszerzeń asynchronicznych. W ten sposób zmodernizowano metody interfejsu API przez poprawę ergonomii obsługi operacji asynchronicznych. Niektóre metody (np. desktopCapture.chooseDesktopMedia()
) nadal obsługują tylko wywołania zwrotne, ponieważ ich obecne platformy nie są zgodne z obietnicami. Aby zapewnić zgodność wsteczną, wywołania zwrotne są nadal obsługiwane. Jeśli znajdziesz obietnicę, która nie działa, zgłoś błąd.
Nowe wskazówki dotyczące komunikacji w czasie rzeczywistym
Opublikowaliśmy właśnie przewodniki po opcjach rozszerzeń w czasie rzeczywistym. Aktualizacje w czasie rzeczywistym zapewniają natychmiastową ścieżkę komunikacji z serwerów bezpośrednio do instalacji rozszerzeń. Oprócz tego dodaliśmy nowe wskazówki dotyczące korzystania z plików chrome.gcm i Web Push.
Nowe wskazówki i przykład: zakończenie testowania skryptu service worker
Właśnie opublikowaliśmy przewodnik na temat testowania zakończenia działania skryptu service worker za pomocą rozwiązania Puppeteer. Widać to w powiązanym przykładzie w aplikacjach Puppeteer i Selenium.
Zaktualizowany przykład wiadomości natywnych
Właśnie opublikowaliśmy zaktualizowany przykład dotyczący wiadomości natywnych. Ten interfejs API umożliwia uruchamianie rozszerzenia i komunikację z inną aplikacją. Dziękujemy współtwórcy GitHuba, Shubham-Rasal za tę pracę.
Chrome 121: nowa właściwość lastAccessed na kartach
Do obiektu tabs.Tab
została dodana nowa właściwość o nazwie lastAccessed
. Ta właściwość wskazuje, kiedy karta została ostatnio aktywowana. Zwracana wartość jest wyrażona w milisekundach od początku epoki.
Chrome 121: nieobsługiwane klucze „w tle” powodują teraz ostrzeżenie
W wyniku zmiany z platformy Manifest V2 na Manifest V3 elementy podrzędne "background"
klucza manifestu zostały zmienione, aby uwzględnić zastąpienie skryptów działających w tle skryptami service worker rozszerzeń. Wcześniej dodanie kluczy "scripts"
, "page"
lub "persistent"
do klucza "background"
w rozszerzeniu platformy Manifest V3 powodowało błąd. Obecność tych kluczy powoduje teraz ostrzeżenie.
Ma to na celu umożliwienie używania jednego pliku manifestu w rozszerzeniach w różnych przeglądarkach, zgodnie z propozycją zawartą w grupie społeczności.
Chrome 120: minimalny poziom szczegółowości alarmu zmniejszono do 30 sekund
Od wersji Chrome 120 rozszerzenia z platformy Manifest V3 mogą używać interfejsu API chrome.alarms
w przypadku opóźnień lub okresów 30-sekundowych, zamiast wymagać wartości co najmniej 60 sekund.
Post na blogu: wznawianie przejścia na platformę Manifest V3
Oś czasu obsługi platformy Manifest V2 została zaktualizowana. Więcej informacji znajdziesz w poście na blogu z listopada 2023 roku.
Post na blogu: ulepszenia obsługi filtrowania treści w platformie Manifest V3
W nowym poście na blogu dowiesz się, jak ulepszyliśmy interfejs declarativeNetRequest API.
Post na blogu: nowości w Chrome 120 dotyczące rozszerzeń
Niedawno udostępniliśmy Chrome 120 w wersji beta. Podsumowanie ważnych aktualizacji dla deweloperów rozszerzeń znajdziesz w naszym nowym poście na blogu: Co nowego w Chrome 120 w zakresie rozszerzeń. Ta wersja stanowi również ważny krok milowy, ponieważ 2 ostatnie elementy (userScripts, moduł obsługi plików w ChromeOS) zostały usunięte z listy krytycznych luk w platformie.
Reklamy społeczne: zmiana sposobu obsługi adresów URL polityki prywatności w Panelu dewelopera
Polityka prywatności w Panelu dewelopera jest teraz dodana na poziomie produktu. Dzięki temu możesz określić inną politykę prywatności dla każdego produktu. Więcej informacji o tej zmianie znajdziesz w urzędzie charytatywnym.
Film: czat z Mattem Frisbie
Właśnie opublikowaliśmy nowy film na kanale Chrome dla deweloperów w YouTube na czacie z ekspertem Google Developers i autorem Mattem Frisbie. Obejrzyj go tutaj.
Nowe wskazówki dotyczące testowania rozszerzeń
Właśnie opublikowaliśmy nowe wskazówki na temat pisania automatycznych testów rozszerzeń, w tym procedury pisania testów jednostkowych, a także ogólne wskazówki i samouczek na temat kompleksowego testowania.
Post na blogu: co się dzieje w rozszerzeniach do Chrome – październik 2023 r.
Właśnie opublikowaliśmy drugie wydanie artykułu Co się dzieje w rozszerzeniach do Chrome. W poście omówiliśmy, nad czym pracował zespół ds. rozszerzeń od kilku miesięcy, m.in. jak rozwiązywać problemy ze stabilnością mechanizmów Service Worker i jakie postępy usuwać. Udostępniamy też nowe, ciekawe wersje interfejsów API, takie jak Reading List API czy User Scripts API.
Zwiększone limity statycznych zestawów reguł w deklaratywnym interfejsie Net Request API
Po uwzględnieniu opinii członków grupy społeczności rozszerzeń internetowych znacznie zwiększamy limit włączonych statycznych zestawów reguł z 10 do 50. Dodatkowo zwiększamy łączną liczbę dozwolonych statycznych zestawów reguł z 50 do 100. Ta funkcja jest obecnie dostępna w wersji Canary.
Ulepszone wskazówki dotyczące kodu hostowanego zdalnie
W przypadku platformy Manifest V3 rozszerzenia nie mogą już używać kodu hostowanego zdalnie. Chociaż od początku stanowiło to część naszego przewodnika po migracji, uznaliśmy, że warto ulepszyć wskazówki w tym zakresie. Na tej stronie znajdziesz teraz więcej informacji, opisujących możliwości platformy Manifest V3 i więcej informacji o strategiach uaktualniania.
Oprócz tego znajdziesz też artykuł Rozwiązywanie problemów związanych z naruszeniem zasad Chrome Web Store. W nowej sekcji znajdziesz najczęstsze przyczyny odrzucania rozszerzeń z kodem hostowanym zdalnie.
Chrome 118: parametr isUrlFilterCaseSensitive teraz ma wartość domyślną Fałsz
W Chrome 118 właściwość isUrlFilterCaseSensitive
interfejsu API chrome.declarativeNetRequest została zmieniona na domyślną wartość false
. Jeśli chcesz zachować stare zachowanie, możesz ustawić isUrlFilterCaseSensitive
na true
w regułach deklarativeNetRequest.
Ten artykuł jest związany z dyskusją w grupie społeczności rozszerzeń internetowych. W przeglądarkach Firefox i Safari wprowadzono już podobną zmianę.
Dokumentacja plików cookie i internetowych interfejsów API do przechowywania danych
Opublikowaliśmy nowy przewodnik, jak działają pliki cookie i interfejsy API do przechowywania danych w internecie w rozszerzeniach do Chrome. Zawiera on szczegółowe informacje o zmianach w partycjonowaniu plików cookie i pamięci w Piaskownicy prywatności – to trwający projekt mający na celu wycofywanie plików cookie innych firm w ramach tworzenia serii nowych interfejsów API platformy internetowej. Znajdziesz w nim też szczegółowe informacje o tym, jak działają one w rozszerzeniach.
Teraz można wyszukiwać próbki rozszerzeń
Niedawno utworzyliśmy stronę, która pozwala przeszukiwać przykłady rozszerzeń do Chrome. Strona wyszukiwania zawiera wiele opcji. Pole wyszukiwania umożliwia wyszukiwanie tekstu w przykładowych tytułach. Możesz ograniczyć wyszukiwanie według uprawnień lub interfejsu API rozszerzenia. Dodatkowy filtr umożliwia ograniczenie wyszukiwania do przykładów interfejsu API lub przykładów funkcjonalnych (przypadków użycia).
Ta nowa przykładowa strona została stworzona przez Xuezhou Dai, uczestnika programu Google Summer of Code, który przekazał również kilka nowych przykładów. O swoich wrażeniach z zeszłego lata przeczytasz w poście na naszym blogu.
Tak jak wcześniej, nasz przykładowy kod jest nadal dostępny na GitHubie do klonowania lub rozwidlenia.
Chrome 118: zmiany w pliku otwierającym: adresy URL schematów
Od wersji Chrome 118 rozszerzenia wymagają włączenia ustawienia „Zezwalaj na dostęp do adresów URL plików” na stronie chrome://extensions
, aby móc otwierać adresy URL schematów file:// za pomocą interfejsów API kart lub systemu Windows. Możesz automatycznie sprawdzić ten dostęp, wywołując metodę chrome.extension.isAllowedFileSchemeAccess()
. Firefox już ogranicza adresy URL plików, a Safari obsługuje tę zmianę. Więcej informacji znajdziesz w poście na stronie dotyczącej rozszerzeń w grupie dyskusyjnej Google.
Chrome 117: rozszerzone zabezpieczenia adresów URL przy nawigacji po interfejsach API w rozszerzeniach
Wcześniej nawigacja aktywowana przez wywołania interfejsu API rozszerzenia tabs.update()
, tabs.create()
i windows.create()
powodowała błąd w przypadku niektórych adresów URL chrome://. Dodatkowo zabronione było wywoływanie funkcji tabs.update()
z adresem URL JavaScript. W wersji 117 zabezpieczenia adresów URL JavaScript zostały rozszerzone o metodę tabs.create()
, a do listy niedozwolonych adresów URL chrome://, która ma zastosowanie do wszystkich wymienionych wcześniej metod.
Ulepszone wskazówki dotyczące interfejsu deklarativeNetRequest API
Interfejs API chrome.declarativeNetRequest
blokuje lub modyfikuje żądania sieciowe, określając reguły deklaratywne. Dzięki temu rozszerzenia mogą modyfikować żądania sieciowe bez ich przechwytywania i wyświetlania treści, a tym samym zapewnić użytkownikom większą prywatność. Jest też dość trudny w użyciu. Mając to na uwadze, napisaliśmy wskazówki na nowo w taki sposób, aby uzyskać jaśniejszy obraz sposobu wdrażania reguł deklaratywnego. Przeczytaj nową sekcję, do której prowadzi link powyżej.
Korzystanie z konta Google Analytics w sklepie Chrome Web Store
Sklep Chrome Web Store oferuje integrację z Google Analytics, dzięki czemu poza widokiem dostępnym w Panelu dewelopera można wyświetlać również dane analityczne dotyczące strony aplikacji w Chrome Web Store. Więcej informacji znajdziesz w artykule Używanie konta Google Analytics w sklepie Chrome Web Store.
Chrome 115: domyślne kroki w Narzędziach deweloperskich nad skryptami treści
Skrypty wstrzykniętej treści znajdują się teraz domyślnie na liście ignorowanych w Narzędziach deweloperskich. Nie ma to wpływu na punkty przerwania, ale oznacza, że skrypty treści będą sprawdzane podczas debugowania, a wyjątki od tych skryptów będą ignorowane. Gdy na karcie Źródła otwarty jest skrypt treści, baner informuje o tym, czy ta funkcja jest włączona, i udostępnia opcję usunięcia skryptu z listy ignorowanych. Aby wyłączyć tę funkcję, otwórz Narzędzia deweloperskie, wybierz Ustawienia, a następnie Lista ignorowanych fragmentów kodu. Więcej informacji znajdziesz w artykule Co nowego w Narzędziach deweloperskich.
Chrome 116 w wersji beta: więcej niż możemy tu zmieścić
Chrome 116 to duża wersja rozszerzeń. Teraz możesz automatycznie otwierać panele boczne. Nowa metoda pozwala sprawdzić, czy istnieje aktywny dokument poza ekranem. Skrypty service worker mają serwerowe ulepszenia. Wersja 116 ma wystarczająco dużo ulepszeń, o których napisaliśmy w poście na blogu. Chrome 116 jest w wersji beta od 19 lipca.
Post na blogu: Co się dzieje w rozszerzeniach do Chrome
Właśnie opublikowaliśmy podsumowanie tegorocznych zmian i ulepszeń rozszerzeń. W poście omawiamy najważniejsze tegoroczne funkcje, takie jak interfejs Side Panel API, ulepszenia mechanizmu Service Worker i dokumenty niewidoczne na ekranie. Dowiesz się też, nad czym pracujemy w tym kwartale. W artykule znajdziesz znacznie więcej informacji, a także linki do nich.
Nowe wskazówki i przykład: dowiedz się, jak używać Google Analytics 4 w rozszerzeniu do Chrome
Opublikowaliśmy nowe wskazówki i przykłady dotyczące Google Analytics i geolokalizacji:
- Zaktualizowana wersja wskazówek dotyczących Google Analytics wyjaśniająca, jak korzystać z Google Analytics 4 w rozszerzeniu do Chrome. Do naszego przykładowego repozytorium na GitHubie dodaliśmy działający przykładowy plik Google Analytics 4. Na stronie
google-analytics.js
znajdziesz odpowiedni kod związany z Google Analytics. - Nowy przewodnik po geolokalizacji i 3 przykłady pokazujące, jak uzyskać dostęp do geolokalizacji w mechanizmach Service Worker, skryptów treści, wyskakujących okienkach i panelach bocznych.
Chrome 115: określ wiele przyczyn w funkcji chrome.offscreen.createDocument()
Możesz teraz określić wiele wyliczeń reason
podczas wywoływania chrome.offscreen.createDocument()
. Tej opcji należy użyć, gdy dokument poza ekranem może być używany do wielu różnych celów. Na podstawie podanych przyczyn przeglądarka określa czas życia dokumentu poza ekranem.
Nowe narzędzie: narzędzie do testowania aktualizacji rozszerzeń
Udostępniliśmy narzędzie do testowania aktualizacji rozszerzeń – serwer aktualizacji lokalnych rozszerzeń, który może służyć do testowania aktualizacji rozszerzeń do Chrome w czasie programowania lokalnego, w tym do przyznawania uprawnień. Narzędzie pokazuje proces aktualizacji przez użytkownika, w tym pozostawienie rozszerzenia wyłączonego, dopóki użytkownik nie przyzna nowo oczekiwanych uprawnień. To narzędzie jest szczególnie przydatne do symulowania zmian uprawnień wymaganych podczas aktualizowania rozszerzenia z platformy Manifest V2 do Manifest V3.
Chrome 114: nowy interfejs API panelu bocznego
Przedstawiamy nowy interfejs Side Panel API – dodatkową platformę, która daje użytkownikom dostęp do narzędzi związanych z przeglądaną treścią. Więcej informacji znajdziesz w materiałach referencyjnych dotyczących interfejsu API panelu bocznego. Dodaliśmy też wiele przykładów z panelu bocznego do naszego przykładowego repozytorium na GitHubie. Więcej informacji o panelach bocznych udostępniamy w nowym poście na blogu: designing a Superior User Experience with the New Side Panel API. Przeanalizowaliśmy również nasze zasady dotyczące jakości i sprawdzone metody, aby zapewnić dodatkowe wskazówki na temat tworzenia wysokiej jakości rozszerzeń panelu bocznego.
Twoja opinia jest dla nas ważna podczas tworzenia tego interfejsu API. Podziel się swoimi przemyśleniami i prośbami o dodanie funkcji na chromium-groups. Będziemy na bieżąco informować o nowościach w zakresie ulepszania interfejsu Side Panel API.
Nowe przykłady: WASM w rozszerzeniach
Dostępne są 2 nowe przykłady pokazujące, jak korzystać z standardu WASM w rozszerzeniu:
- Korzystanie z WASM w platformie Manifest V3 pokazuje ogólną metodę dołączania modułu WASM.
- Korzystanie z WASM jako modułu w platformie Manifest V3 pokazuje, jak korzystać z niej w module.
Specjalne podziękowania dla współtwórcy serwisu GitHub @daidr za te próbki.
Zaktualizowaliśmy wskazówki dotyczące migracji platformy Manifest V3
Zaktualizowaliśmy sekcję Znane problemy w naszym przewodniku po migracji na platformę Manifest V3 o zaktualizowaną listę luk w rozszerzeniach na platformie, które zamierzamy usunąć przed ogłoszeniem nowego harmonogramu wycofywania platformy Manifest V2.
Nagrywanie dźwięku i filmu za pomocą platformy Manifest V3
Właśnie opublikowaliśmy nowy artykuł zatytułowany Nagrywanie dźwięku i przechwytywanie ekranu, który opisuje nagrywanie dźwięku lub obrazu z karty, okna lub ekranu w platformie Manifest V3. W tym artykule opisujemy różne metody nagrywania z wykorzystaniem interfejsu API chrome.tabCapture
i funkcji getDisplayMedia()
.
Chrome 114: zwiększony limit storage.local
Zwiększyliśmy limit do około 10 MB dla usługi storage.local
. Ta zasada została zgodna z tym w grupie Społeczności rozszerzeń internetowych. Dzięki temu storage.local
będzie zgodny z storage.session
, który został zmieniony w Chrome 112.
Nowy samouczek i pomoc dotycząca skryptu service worker rozszerzenia
Skrypty service worker są integralną częścią rozszerzeń do Chrome. Właśnie opublikowaliśmy samouczek wyjaśniający podstawy rejestracji, debugowania i interakcji z skryptami Service Worker. Dodaliśmy też nowy przewodnik skryptu service worker, w którym bardziej szczegółowo wyjaśniamy ważne pojęcia. W najbliższych miesiącach rozszerzymy tę sekcję.
Więcej wskazówek dotyczących rozwiązywania problemów związanych z naruszeniami zasad dotyczących sklepu Chrome Web Store
Aby ułatwić publikowanie w Chrome Web Store, dodaliśmy nowe wskazówki w 2 obszarach. Wytyczne dotyczące minimalnej funkcjonalności skupiają się na zapewnieniu użytkownikom korzyści i zwiększeniu wygody przeglądania internetu. Wytyczne dotyczące reklam partnerskich dotyczą informowania użytkowników o istnieniu rozszerzeń za pomocą linków lub kodów do witryn partnerskich za pomocą linków lub kodów do witryn partnerskich. Należy też dać im pewien poziom kontroli, ponieważ użytkownik musi wykonać działanie przed dołączeniem rozszerzeń.
Nowe instrukcje dotyczące konwertera pliku manifestu rozszerzenia
Opracowaliśmy od nowa plik README dla narzędzia do konwertowania pliku manifestu rozszerzenia, aby ułatwić sprawdzanie, co należy zrobić po uruchomieniu tego narzędzia. Konwerter pomaga przenieść rozszerzenia utworzone na platformie Manifest V2 do platformy Manifest V3. Nowe pliki README zawierają opis działania narzędzia, używając słów, które bardzo pasują do tych na liście kontrolnej przewodnika po migracji. Konwerter nie robi wszystkiego, ale eliminuje wiele zadań, które nie wymagają ludzkiego osądu.
Chrome 113: nowe powody, dla których warto wyświetlać dokumenty poza ekranem
Dodaliśmy 2 nowe typy powodów do interfejsu Offscreen Documents API. Aby uzyskać dostęp do interfejsu API localStorage platformy internetowej, użyj polecenia LOCAL_STORAGE
. Podczas tworzenia instancji roboczych używaj WORKER
.
Google Analytics 4 teraz w Panelu dewelopera
Panel dewelopera Chrome Web Store obsługuje teraz Google Analytics 4 (GA4). Uprościliśmy konfigurację Google Analytics i uprościliśmy zarządzanie dostępem w przypadku wydawców grupowych. Jeśli do śledzenia aktywności na stronie aplikacji używasz Google Universal Analytics, do 1 lipca 2023 r. musisz podjąć działania, aby nadal otrzymywać informacje o tej stronie. Więcej informacji znajdziesz w poście na stronie grupy dyskusyjnej Google dotyczącej rozszerzeń Chromium.
Interfejs File handling API jest dostępny w ChromeOS
Interfejs File Handler API jest dostępny do eksperymentów w ChromeOS w wersji 112 i 113 w wersji Canary. Umożliwia rozszerzeniom w ChromeOS otwieranie plików o określonych typach MIME i rozszerzeniach. Aby wdrożyć obsługę plików, dodaj do manifest.json
zestaw reguł. Ta funkcja działa tak samo jak w przypadku progresywnych aplikacji internetowych. Więcej informacji znajdziesz w artykule w innym miejscu tej witryny.
Aby włączyć obsługę plików:
- Począwszy od wersji 112, uruchom Chrome przy użyciu flagi
--enable-features=ExtensionWebFileHandlers
, począwszy od wersji 112 - Od wersji 113 wklej
os://flags/#extension-web-file-handlers
w omniboksie Chrome i wybierz z menu „Włączone”.
Mamy nadzieję, że pod koniec czerwca udostępnimy tę funkcję w Chrome 115. Zaglądaj tu, by być na bieżąco.
Nowe przykłady: deklaracje dynamiczne i wstrzykiwanie automatyczne
Utworzyliśmy nowy przykład interfejsu API chrome.scripting
. Pokazano deklaracje dynamiczne (skrypt treści jest rejestrowany w czasie działania) oraz automatyczne wstrzykiwanie, czyli wykonywanie skryptu w otwartej karcie.
Nowe przykłady: przypadki użycia deklarowanych żądań netto
Dostępne są 3 nowe przykłady przedstawiające Deklaracja Net Request API. Każda z nich pokazuje implementację jednego przypadku użycia. Pierwszy z nich pokazuje, jak blokować pliki cookie. W pozostałych dwóch pokazano blokowanie i przekierowywanie adresów URL.
Chrome 112: zwiększony limit miejsca na dane.
Od wersji Chrome 112 limit dla usługi storage.session
został zwiększony do około 10 MB. To zostało zaakceptowane w grupie społeczności rozszerzeń internetowych: https://github.com/w3c/webextensions/issues/350.
Chrome 109: dokumenty poza ekranem
Dokumenty poza ekranem są teraz dostępne w rozszerzeniach na platformie Manifest V3. Pomagają one w przejściu ze stron w tle na mechanizmy Service Worker rozszerzenia, ponieważ zapewniają obsługę funkcji i interfejsów API związanych z DOM. Więcej informacji znajdziesz w poście na blogu.
Chrome 110: czy rozszerzenie jest włączone
Metoda chrome.action.isEnabled()
automatycznie sprawdza, czy rozszerzenie zostało włączone na danej karcie. Dzięki temu nie musisz utrzymywać aktywnych kart. Ta nowa metoda pobiera identyfikator karty i odwołanie do wywołania zwrotnego oraz zwraca wartość logiczną. Ma jedno ograniczenie: karty utworzone za pomocą chrome.declarativeContent
zawsze zwracają wartość „fałsz”.
W przestrzeni nazw chrome.action
niedawno pojawiły się nowe metody kontrolowania wyglądu plakietek rozszerzeń. Więcej informacji znajdziesz w artykule Ustawianie kolorów plakietek.
Chrome 110: zmiana limitu czasu bezczynności skryptu service worker
Wcześniej mechanizm Service Worker rozszerzenia często wyłączał się po upływie 5 minut. Zmieniliśmy ten sposób działania, aby bardziej przypominało działanie mechanizmów Service Worker w internecie. Skrypt service worker rozszerzenia jest wyłączany po 30 sekundach braku aktywności lub jeśli przetworzenie pojedynczej aktywności trwa dłużej niż 5 minut. Więcej informacji znajdziesz w artykule na temat wydłużania okresu eksploatacji skryptu service worker rozszerzenia.
Post: wstrzymuję wycofanie platformy Manifest V2
Harmonogram wycofywania platformy Manifest V2 jest w trakcie sprawdzania, a eksperymenty zaplanowane na początek 2023 r. zostały przełożone. Aby dowiedzieć się więcej, przeczytaj tę aktualizację w grupie dyskusyjnej Google dotyczącej rozszerzeń chromium-extensions.
Chrome 110: ustawianie kolorów plakietek
W przestrzeni nazw chrome.action
wprowadziliśmy 2 nowe metody, które dają Ci większą kontrolę nad plakietkami rozszerzeń wyglądu. Metody setBadgeTextColor()
i getBadgeTextColor()
umożliwiają rozszerzeniu zmianę koloru tekstu plakietki na pasku narzędzi oraz wysyłanie dotyczących go zapytanie. Te nowe metody używane z setBadgeBackgroundColor
i getBadgeBackgroundColor
umożliwiają zachowanie spójności wyglądu i marki.
Post na blogu: dodatkowe informacje o przejściu na platformę Manifest V3
Doprecyzowaliśmy harmonogram wycofywania platformy Manifest V2. Zaktualizowaliśmy też oś czasu obsługi platformy Manifest V2, aby uwzględniała tę informację.
Aktualizacja Dokumentów: znane problemy podczas migracji do platformy Manifest V3
Utworzyliśmy listę głównych funkcji, które są obecnie w fazie rozwoju i rozwiązaliśmy problemy. Na tej stronie chcemy pomóc deweloperom lepiej zrozumieć obecny stan platformy i funkcje, które mogą być dla nich dostępne, przygotowując się na przyszłość.
Chrome Web Store: usunięto obraz „duży kafelek promocyjny”
Usunęliśmy z Chrome Web Store interfejs przesyłania „duży kafelek promocyjny” z karty Informacje o aplikacji w panelu dewelopera. Ta zmiana nie wpływa na wygodę użytkowników, ponieważ obrazy te nie były używane w interfejsie użytkownika. Więcej informacji znajdziesz w tym poście na temat rozszerzeń chromium.
Chrome 106: zezwalanie stronom pod adresami URL typu file:// na dostęp do zasobów dostępnych w internecie
Nieprzezroczyste źródła, takie jak elementy iframe w piaskownicy i import dynamiczny, też powinny mieć dostęp do zasobów dostępnych w internecie, zgodnie z opisem na crbug.com/1219825#c11.
Chrome 106: naprawiono błąd polegający na tym, że w niektórych asynchronicznych funkcjach interfejsu API można było używać nieprawidłowych argumentów końcowych
Wcześniej wywołanie asynchronicznego interfejsu API na platformie Manifest V3 mogło podawać nieprawidłowy argument końcowy, a Chrome nie zwracał błędów. Dzięki tej poprawce Chrome będzie teraz prawidłowo wyświetlać błędy i zgłaszać brak pasującego podpisu. Zachęcamy deweloperów do sprawdzania rozszerzeń w Canary pod kątem błędów – mogą oni przypadkowo użyć nieprawidłowego podpisu w wywołaniu interfejsu API, które zostanie przerwane w wyniku tej poprawki.
Post na blogu: ulepszona analityka w Chrome Web Store
W Chrome Web Store dodaliśmy udoskonalony interfejs analizy produktów w panelu dewelopera Chrome Web Store. Nowy panel jest łatwiejszy do zrozumienia i skonsoliduje najbardziej przydatne informacje. Więcej informacji znajdziesz w tym poście na blogu.
Chrome 105: obiecacje dotyczące interfejsu Identity API
Funkcje Identity API obsługują teraz wywołania oparte na obietnicach. Wiąże się to z drobną zmianą w wyglądzie interfejsu identity.getAuthToken()
, gdzie asynchroniczny zwrot ustawiony na wywołanie oparte na obietnicy będzie mieć parametry „token” i „grantedScopes” jako parametry w pojedynczym obiekcie (w przeciwieństwie do wersji wywołania zwrotnego odbierającej je jako osobne argumenty wywołania zwrotnego).
Chrome 104: nowy interfejs API favikon dla platformy Manifest V3
Rozszerzenia na platformie Manifest V3 mają teraz dostęp do favikon za pomocą nowego wzorca adresu URL: chrome-extension://<id>/_favicon/
, gdzie chrome://favicons
platformy Manifest V2. Więcej informacji znajdziesz w dokumentacji Favicon API.
Aktualizacja Dokumentów: informacje dla przedsiębiorców (deweloperów lub osób niebędących przedsiębiorcami)
Dodaliśmy identyfikator dewelopera: przedsiębiorca/niebędący przedsiębiorcą, który informuje deweloperów, że mogą samodzielnie zadeklarować swój status przedsiębiorcy.
Chrome 103: Wasm w platformie Manifest V3 wymaga wasm-unsafe-eval
Chrome nie zezwala już domyślnie na rozszerzenia script-src: wasm-unsafe-eval
. Rozszerzenia, które korzystają z WebAssembly, muszą teraz bezpośrednio dodać tę dyrektywę i wartość do elementu extension_pages
w deklaracjach content_security_policy
.
Chrome 103: zmiany skrótów do wersji MV3 obowiązują natychmiast
Gdy zmienisz skrót klawiszowy rozszerzenia Manifest V3 w chrome://extensions/shortcuts
, aktualizacje są stosowane natychmiast. Wcześniej, aby zmiana została wprowadzona, trzeba było ponownie załadować rozszerzenie.
Chrome 102: skrypty zawartości dynamicznej w świecie głównym
Skrypty zarejestrowane dynamicznie mogą teraz określać świat, do którego będą wstawiane zasoby. Więcej informacji znajdziesz w sekcji scripting.registerContentScripts()
.
Chrome 102: nowe pole manifestu „optional_host_permissions”
Rozszerzenia platformy Manifest V3 mogą teraz określać klucz optional_host_permissions
w pliku manifest.json. Umożliwia to rozszerzeniom platformy Manifest V3 deklarowanie opcjonalnych wzorców dopasowania dla hostów, tak samo jak rozszerzenia platformy Manifest V2 mogą używać klucza optional_permissions
.
Chrome 102: właściwość injectImmediately w metodzie scripting.executeScript()
chrome.scripting.executeScript()
akceptuje teraz opcjonalną właściwość injectImmediately
w argumencie injection
. Jeśli ten parametr jest obecny i ma wartość Prawda, skrypt jak najszybciej wstawia go do elementu docelowego, zamiast czekać na document_idle
. Nie gwarantujemy, że skrypt uruchomi się przed wczytaniem strony, ponieważ w trakcie wykonywania wywołania interfejsu API strona wciąż się wczytuje.
Chrome 102: obsługa interfejsu Omnibox API w platformie Manifest V3
Interfejsu Omnibox API można teraz używać w rozszerzeniach opartych na mechanizmach Service Worker. Wcześniej niektóre metody tego interfejsu API zgłaszały wywoływanie z powodu wewnętrznych zależności od funkcji DOM.
Chrome 102: zasady wasm-unsafe-eval są dozwolone w przypadku CSP platformy Manifest V3
Rozszerzenia na platformie Manifest V3 mogą teraz zawierać w deklaracjach content_security_policy
element wasm-unsafe-eval
. Ta zmiana umożliwia używanie WebAssembly przez rozszerzenia platformy Manifest V3.
Chrome 102: nowy interfejs API storage.session
Rozszerzenia platformy Manifest V3 mogą teraz używać w pamięci masowej storage.session .
Aktualizacja Dokumentów: odkrywanie produktów w Chrome Web Store
W Discover w Chrome Web Store znajdziesz omówienie tego, jak użytkownicy znajdują produkty w Chrome Web Store i jak nasi redaktorzy wybierają elementy, które mają być polecane.
Chrome 101: ulepszone warunki domeny deklarativeNetRequest
Zaktualizowaliśmy warunki reguły declarativeNetRequest, aby umożliwić rozszerzeniom lepsze kierowanie na żądania na podstawie domen „żądania” i „inicjatora”. Odpowiednie właściwości warunku to initiatorDomains
, excludedInitiatorDomains
, requestDomains
i excludedRequestDomains
. Zapoznaj się też z tym wątkiem chromium-extensions.
Chrome w wersji 100: rozwiązano problem z funkcją scripting.executeScript() na nowo tworzonych kartach
Rozwiązaliśmy wieloletni problem, który powodował, że wywoływanie funkcji scripting.executeScript()
na nowo utworzonej karcie lub nowym oknie mogło się nie udać.
Chrome 100: natywny port do przesyłania wiadomości zapewnia działanie mechanizmów Service Worker
Połączenie z hostem natywnego przesyłania komunikatów za pomocą chrome.runtime.connectNative()
w skrypcie service worker rozszerzenia powinno utrzymywać działanie skryptu service worker, dopóki port jest otwarty.
Chrome w wersji 100: omnibox.setDefaultsuggestion() obsługuje obietnice i wywołania zwrotne
Metoda omnibox.setDefaultSuggestion()
zwraca teraz obietnicę lub akceptuje wywołanie zwrotne, aby umożliwić deweloperom ustalenie, kiedy sugestia została prawidłowo ustawiona.
Chrome 100: obsługa i18n.getMessage() w skryptach service worker rozszerzenia
Interfejs chrome.i18n.getMessage()
API jest teraz obsługiwany w kontekstach skryptu service worker rozszerzenia.
Chrome 99: match_origin_as_fallback w wersji Canary
Skrypty treści mogą teraz określać klucz match_origin_as_fallback
, który ma być wstawiony do ramek powiązanych z pasującą ramką, w tym ramek z adresami URL about:
, data:
, blob:
i filesystem:
. Szczegółowe informacje znajdziesz w dokumentacji skryptów treści.
Chrome 99: obsługa skryptów service worker rozszerzenia dla plików: schematy w wersji Canary
Rozszerzenia oparte na mechanizmach Service Worker V2 i Manifest V3 mogą teraz używać interfejsu Fetch API do żądania adresów URL schematu file:
. Aby uzyskać dostęp do adresów URL schematu file:
, użytkownik nadal musi włączyć dla rozszerzenia na stronie chrome://extensions
opcję „Zezwalaj na dostęp do adresów URL plików”.
Chrome 99: obiecująca obsługa interfejsów API do przesyłania wiadomości w wersji Canary
W przypadku rozszerzeń utworzonych na potrzeby platformy Manifest V3 w tabs.sendMessage
, runtime.sendMessage
i runtime.sendNativeMessage
dodaliśmy obsługę obietnic.
Aktualizacja Dokumentów: dokumentacja sprawdzania w Chrome Web Store
Dodaliśmy nową stronę referencyjną, która zawiera omówienie procesu sprawdzania w Chrome Web Store i wyjaśnia, w jaki sposób egzekwujemy zasady programu dla deweloperów.
Chrome 98: scripting.executeScript() i scripting.insertCSS() akceptują wiele plików
Metody executeScript()
i insertCSS()
interfejsu Scripting API akceptują teraz wiele plików. Wcześniej te metody wymagały tablicy z 1 wpisem pliku.
Aktualizacja Dokumentów: aktualizacje dotyczące rozwiązywania problemów z naruszeniem zasad
Zaktualizowaliśmy stronę Rozwiązywanie problemów z naruszeniem zasad Chrome Web Store, aby zapewnić deweloperom bardziej szczegółowe wskazówki dotyczące najczęstszych powodów odrzucenia.
Chrome 96: ulepszona obsługa kolejnych 27 interfejsów API
Ta wersja zawiera znacznie więcej obiecujących aktualizacji niż jakakolwiek poprzednia wersja. Aktualizacje obejmują zarówno ogólne interfejsy API rozszerzeń, jak i interfejsy API rozszerzeń typowe dla ChromeOS. Aby dowiedzieć się więcej, rozwiń sekcje poniżej.
Interfejsy API rozszerzeń
Wiele interfejsów API obsługuje teraz obietnice zawarte w platformie Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Poza tym interfejsy API korzystające z prototypu ChromeSetting
również obsługują teraz prognozy. Ta zmiana ma wpływ na następujące interfejsy API.
Interfejsy API ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: skrypty zawartości dynamicznej
Interfejs chrome.scripting
API obsługuje teraz rejestrowanie, aktualizowanie, wyrejestrowywanie i pobieranie listy skryptów treści w czasie działania. Wcześniej skrypty treści mogły być zadeklarowane statycznie w pliku manifest.json rozszerzenia lub były wstrzykiwane automatycznie w czasie działania za pomocą metody chrome.scripting.executeScript()
.
Aktualizacja Dokumentów: oś czasu obsługi platformy Manifest V2
Harmonogram przejścia z platformy Manifest V2 na wersję 3 został ogłoszony w tym poście na blogu. Opublikowaliśmy też bardziej szczegółową stronę z osią czasu.
Chrome 96: uprawnienie deklarativeNetRequestWithHostAccess
Nowe uprawnienie declarativeNetRequestWithHostAccess
umożliwia rozszerzeniom korzystanie z interfejsu API chrome.declarativeNetRequest
w witrynach, w których rozszerzenie ma uprawnienia hosta. Umożliwi to też dotychczasowym rozszerzeniom platformy Manifest V2, które korzystają z webRequest
i webRequestBlocking
oraz uprawnień hosta w danej witrynie, aby przejść do interfejsu chrome.declarativeNetRequest
API bez konieczności zatwierdzania nowych uprawnień przez użytkownika.
Chrome 95: wstawianie skryptów bezpośrednio na stronach
Metoda executeScript()
interfejsu API chrome.scripting
może teraz wstrzykiwać skrypty bezpośrednio w głównym świecie strony. Wcześniej rozszerzenia można było wstawiać
bezpośrednio do izolowanego świata. Więcej informacji na temat odizolowanych światów znajdziesz w dokumentacji skryptów treści.
Chrome 95: obiecująca obsługa interfejsu Storage API
Metody w komponencie Manifest V3 interfejsu API chrome.storage
zwracają teraz obietnice.
Aktualizacja zasad: wymuszanie weryfikacji dwuetapowej
Post na blogu o aktualizacji zasad opublikowany 29 czerwca 2021 r. zaktualizowaliśmy, aby poprawić harmonogram wdrażania weryfikacji dwuetapowej.
Chrome 94: zmiany w statycznym zestawie reguł deklaratywnego żądania netto
chrome.declarativeNetRequest
umożliwia teraz określanie maksymalnie 50 statycznych zestawów reguł (MAX_NUMBER_OF_STATIC_RULESETS) i włączanie maksymalnie 10 zestawów reguł (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) naraz.
Chrome 93: obsługa izolacji z innych domen
Zarówno rozszerzenia Manifest V2, jak i Manifest V3 mogą teraz korzystać z izolacji z innych domen. Ta funkcja określa, które zasoby z innych domen mogą wczytywać strony rozszerzenia, i umożliwia korzystanie z niskopoziomowych funkcji platformy internetowej, takich jak SharedArrayBuffer
. Ta funkcja będzie wymagana od wersji Chrome 95.
Aktualizacja zasad: aktualizacja zasad programu dla deweloperów
Zasady programu dla deweloperów Chrome Web Store zostały zaktualizowane, aby doprecyzować zasady dotyczące wprowadzających w błąd taktyk instalacji, spamu oraz powtarzających się treści. Wprowadzamy też nowe wymaganie związane z weryfikacją dwuetapową podczas publikowania aplikacji w Chrome Web Store. Więcej informacji znajdziesz w tym poście na blogu.
Post na blogu: działania rozszerzeń w platformie Manifest V3
Rozszerzenia do Chrome od lat korzystały z interfejsów API chrome.browserAction
i chrome.pageActions
, ale platforma Manifest V3 zastąpiła je ogólnym interfejsem API chrome.actions
. W tym poście przedstawiamy historię tych interfejsów API i przedstawiamy, co się zmieniło w platformie Manifest V3. Przeczytaj posta
Post na blogu: wprowadzamy chrome.scripting
Interfejs API chrome.scripting
to nowy interfejs API Manifest V3, w którym koncentruje się na skryptach. W tym poście przeanalizujemy powody tej zmiany
i przyjrzymy się jej nowym funkcjom. Przeczytaj posta
Chrome 92: obsługa modułów service worker
Chrome obsługuje teraz moduły JavaScript w skryptach service worker. Aby wskazać moduł w pliku manifestu:
"background": {
"service_worker": "script.js",
"type": "module"
}
Spowoduje to wczytanie skryptu instancji roboczej jako moduł ES, co pozwoli na użycie w skrypcie instancji słowa kluczowego import
, aby zaimportować inne moduły.
Chrome 91: chrome.action.getUserSettings()
Nowa metoda chrome.action.getUserSettings()
pozwala rozszerzeniom ustalić, czy użytkownik przypiął rozszerzenie do głównego paska narzędzi.
Chrome 90: chrome.scripting.removeCSS()
Nowa metoda chrome.scripting.removeCSS()
umożliwia rozszerzeniom usuwanie kodu CSS, który został wcześniej wstawiony przez chrome.scripting.insertCSS()
. Zastępuje parametr chrome.tabs.removeCSS()
.
Chrome 90: zwracanie obietnic z scripting.executeScript()
Usługa chrome.scripting.executeScript()
obsługuje teraz obietnice zwracania. Jeśli wynikowa wartość wykonania skryptu jest obietnica, Chrome poczeka na ustabilizowanie się obietnicy i zwrócenie jej wartości.
Chrome 90: wyniki polecenia chrome.scripting.executeScript() zawierają identyfikator ramki
Wyniki zwracane przez chrome.scripting.executeScript()
zawierają teraz element frameId.
Właściwość frameId
wskazuje klatkę, z której pochodzi wynik, dzięki czemu rozszerzenia mogą łatwo kojarzyć wyniki z poszczególnymi klatkami podczas wstrzykiwania ich w wielu klatkach.
Chrome 89: nowy interfejs API do zarządzania grupami kart
Nowy interfejs API chrome.tabGroups
i nowe możliwości w chrome.tabs
umożliwiają rozszerzeniom odczytywanie grup kart i wykonywanie na nich operacji.
Wymaga platformy Manifest V3.
Chrome 89: dostosowywanie uprawnień do zasobów dostępnych w internecie
Definicje zasobów dostępnych w internecie w pliku manifestu w wersji 3 zostały zmienione, aby umożliwić rozszerzeniom ograniczanie dostępu do zasobów na podstawie źródła żądania lub identyfikatora rozszerzenia.
Post na blogu: konwerter pliku manifestu rozszerzenia
Zespół ds. rozszerzeń do Chrome udostępnił narzędzie typu open source „Extension Manifest Converter” w języku Python, które automatyzuje niektóre mechaniczne aspekty konwertowania rozszerzeń na platformę Manifest V3. Przeczytaj posta na blogu z ogłoszeniem i pobierz go z GitHuba.
Chrome 88: ogólna dostępność platformy Manifest V3
Manifest V3 to duża aktualizacja platformy rozszerzeń. Podsumowanie nowych i zmienionych funkcji znajdziesz w jej opisie. Na razie rozszerzenia mogą nadal używać platformy Manifest V2, ale w najbliższej przyszłości zostanie ona wycofana. Zdecydowanie zalecamy korzystanie z platformy Manifest V3 w przypadku wszystkich nowych rozszerzeń i jak najszybsze rozpoczęcie migracji istniejących rozszerzeń do platformy Manifest V3.