Nowości w rozszerzeniach do Chrome

Regularnie sprawdzaj tę stronę, aby dowiadywać się o zmianach w rozszerzeniach Chrome, dokumentacji rozszerzeń, powiązanych zasadach i innych zmianach. Inne powiadomienia znajdziesz w Grupie dyskusyjnej Rozszerzenia Google. Harmonogram Chrome zawiera daty wydania wersji stabilnej i beta.

Chrome 132: nowa właściwość zamrożenia w interfejsie Tabs API

Od wersji 132 przeglądarki Chrome właściwość frozen w interfejsie Tabs API wskazuje, czy przeglądarka zamroziła kartę. Wiadomości wysyłane na zablokowane karty zostaną umieszczone w kolejce i przetworzone, gdy karta zostanie odblokowana.

Interfejs Prompt API w rozszerzeniach do Chrome

Opublikowano

Prompt API for Extensions jest teraz dostępny w ramach testowania origin, dzięki czemu możesz tworzyć w przeglądarce rozszerzenia Chrome korzystające z Gemini Nano, naszego najbardziej wydajnego modelu językowego.

Weź udział w testowaniu origin interfejsu Prompt API w wersjach Chrome 131–136 i prześlij opinię. Twoje opinie mogą mieć bezpośredni wpływ na sposób tworzenia i wdrażania przyszłych wersji tego interfejsu API oraz wszystkich wbudowanych interfejsów API AI.

Post na blogu: co się dzieje z rozszerzeniami do Chrome w październiku 2024 r.

Opublikowano

Nadszedł czas na kolejną rundę informacji o rozszerzeniach Chrome: mamy dla Was ekscytujące nowości dotyczące integracji z AI, nowych interfejsów API, wydarzeń i filmów. Więcej informacji znajdziesz w artykule Co nowego w rozszerzeniach do Chrome (październik).

Dołącz do wbudowanego wyzwania dotyczącego AI

Opublikowano

W Chrome rozpoczęliśmy wyzwanie z wykorzystaniem wbudowanej AI: zapraszamy do tworzenia innowacyjnych aplikacji internetowych i rozszerzeń do Chrome przy użyciu zintegrowanych modeli AI i interfejsów API Chrome. Możesz wygrać nagrody o łącznej wartości 65 tys. USD.

Zarejestruj się i uzyskaj więcej informacji na stronie Wbudowane wyzwanie AI. Nie możemy się doczekać, aż zobaczymy, co stworzysz, wykorzystując AI w internecie.

Chrome 130: action.onUserSettingsChanged

Opublikowano

Od wersji 130 Chrome dostępne jest zdarzenie action.onUserSettingsChanged. Jest to konsekwencją propozycji w ramach grupy dotyczącej rozszerzeń internetowych. Dziękujemy firmie Microsoft za wkład w rozwój Chromium.

Chrome 130: StorageArea.getKeys()

Opublikowano

Począwszy od wersji 130 Chrome metoda getKeys() jest dostępna w interfejsie StorageArea używanym przez interfejs API chrome.storage. Jest to konsekwencją propozycji w ramach grupy dotyczącej rozszerzeń internetowych.

Chrome 128: Dopasowywanie nagłówka odpowiedzi w deklaratywnym żądaniu sieciowym

Opublikowano

Od wersji 128 Chrome dodajemy obsługę dopasowywania nagłówka odpowiedzi w interfejsie Declarative Net Request API. Było to częste żądanie, zwłaszcza w przypadku dopasowania nagłówka Content-Type. Wspólnie z grupą społeczności WebExtensions zaprojektowaliśmy odpowiedni interfejs API.

Zaktualizowaliśmy informacje o interfejsie API, aby uwzględniały nowe pola responseHeadersexcludedResponseHeaders. Możesz ich użyć, aby sprawdzić, czy dany nagłówek istnieje i jaką ma wartość.

W ramach tej aktualizacji dodaliśmy do dokumentacji nową sekcję oceny reguł, która wyjaśnia, jak dopasowujemy reguły. W szczególności w przypadku dopasowywania nagłówków reguły mogą być uruchamiane dopiero po otrzymaniu nagłówków odpowiedzi, więc są stosowane na późniejszym etapie niż inne reguły. Oznacza to, że żądanie dociera do serwera, zanim zostanie zablokowane lub przekierowane.

Film: czym są skrypty zawartości?

Opublikowano

Dowiedz się więcej o skryptach treści w rozszerzeniach do Chrome, w tym o tym, jak zarejestrować kod CSS i JavaScript, aby działały na konkretnej stronie. Obejrzyj cały film

Ważne aktualizacje zasad

Opublikowano

Zespół Chrome Web Store opublikował serię aktualizacji na stronie Zasad programu dla deweloperów, aby zachęcić do tworzenia wysokiej jakości produktów, zapobiegać oszustwom i zapewnić użytkownikom świadomą zgodę. Rebecca Soares, menedżer ds. zasad w sklepie Chrome Web Store, podsumowała wszystkie zmiany w poście na blogu Rozszerzenia Chrome: ważne zmiany w zasadach.

Post na blogu: co dzieje się z rozszerzeniami do Chrome w lipcu 2024 r.

Opublikowano

W ciągu ostatnich 3 miesięcy wprowadziliśmy kilka ważnych aktualizacji i nowych funkcji, w tym rozpoczęliśmy wycofywanie manifestu V2. Dowiedz się więcej z artykułu Co nowego w rozszerzeniach do Chrome (lipiec).

Wideo: co to jest kod hostowany zdalnie?

Opublikowano

Patrick z zespołu odpowiedzialnego za rozszerzenia do Chrome wyjaśnia koncepcję kodu hostowanego zdalnie w rozszerzeniach do Chrome. Dowiedz się, dlaczego reklamy z użyciem kodu RHC nie są już dozwolone, jak je wykryć i co zrobić, jeśli trzeba zaktualizować rozszerzenie. Obejrzyj cały film

Chrome 127: nowy interfejs API action.openPopup

Opublikowano

Od wersji 127 Chrome interfejs API action.openPopup jest dostępny dla wszystkich rozszerzeń. Wcześniej była dostępna tylko w wersji Canary lub w przypadku rozszerzeń zainstalowanych na podstawie zasad.

Film: Wywiad z zespołem ds. zaufania i bezpieczeństwa

Opublikowano

Zespół ds. relacji z deweloperami rozszerzeń do Chrome spotkał się z zespołem ds. zaufania i bezpieczeństwa, który odpowiada za weryfikację w Chrome Web Store, aby odpowiedzieć na Wasze pytania. Obejrzyj cały film

Post na blogu: rozpoczynamy wycofywanie platformy Manifest V2

Opublikowano

Od 3 czerwca na kanałach Chrome Beta, Dev i Canary użytkownicy, którzy nadal mają zainstalowane rozszerzenia Manifest V2, zaczną widzieć na stronie zarządzania rozszerzeniami (chrome://extensions) baner ostrzegający, że niektóre z nich (Manifest V2) wkrótce nie będą już obsługiwane. Więcej informacji znajdziesz w oficjalnym ogłoszeniu.

Aktualizacje interfejsu panelu bocznego

Opublikowano

Niedawno wprowadziliśmy kilka zmian w interfejsie panelu bocznego, m.in. dodaliśmy ikonę pinezki i usunęliśmy ikonę globalnego panelu bocznego. Więcej informacji znajdziesz w komunikatach, zaktualizowanej dokumentacji oraz próbkach.

Post na blogu: rozszerzenia do Chrome na konferencji Google I/O 2024

Opublikowano

Za nami kolejna konferencja Google I/O, podczas której omówiliśmy wszystkie ekscytujące nowości dotyczące rozszerzeń. Wejdź na YouTube, aby obejrzeć pełne nagranie i przeczytać nasz post na blogu, w którym znajdziesz najważniejsze informacje.

Pomijanie sprawdzania w przypadku kwalifikujących się zmian deklaratywnych żądań sieciowych

Opublikowano

Chrome Web Store umożliwia teraz pominięcie sprawdzania odpowiednich zmian podczas korzystania z interfejsu Declarative Net Request API. Więcej informacji o tym, czy kwalifikujesz się do udziału w programie, oraz jak się do niego zapisać, znajdziesz w dokumentacji Chrome Web Store.

Wartość deployPercentage dostępna w interfejsie API Chrome Web Store

Opublikowano

Niedawno zaktualizowaliśmy dokumentację interfejsu API Chrome Web Store, aby zawierała informacje o deployPercentage, który umożliwia przypisanie procentowego udziału w wdrożeniu częściowym. Więcej informacji o deployPercentage

Chrome 126: testowanie wersji Origin w rozszerzeniach

Opublikowano

W Chrome 126 wprowadzono nowe pole manifest.json – trial_tokens, które umożliwia stosowanie testów wersji próbnej Origin i testów wycofywania na wszystkich platformach rozszerzeń. Więcej informacji znajdziesz w przewodniku.

Post na blogu: co się dzieje z rozszerzeniami do Chrome w kwietniu 2024 r.

Opublikowano

Opublikowaliśmy nową wersję artykułu Co się dzieje w przypadku rozszerzeń Chrome. W poście opisano, nad czym zespół ds. rozszerzeń pracował w ostatnich miesiącach. Dotyczy to m.in. cofania wersji w Chrome Web Store, lepszego wsparcia dla Firebase Auth oraz większej liczby uruchamianych i aktualizowanych interfejsów API.

Przywracanie wersji w Panelu dewelopera Chrome Web Store

Opublikowano

Przywróć rozszerzenie do poprzedniej opublikowanej wersji w Chrome Web Store – bez dodatkowej weryfikacji. Więcej informacji znajdziesz w tym poście na blogutej dokumentacji.

Chrome 124: Zaawansowany interfejs API documentScan

Opublikowano

W systemie ChromeOS jest teraz dostępna zaawansowana wersja interfejsu documentScan API, która umożliwia wykrywanie i pobieranie obrazów ze skanera dokumentów.

Chrome 124: obsługa WebGPU w skryptach service workera

Opublikowano

Od wersji 124 Chrome usługowe workery obsługują WebGPU. Aby szybko rozpocząć pracę, zapoznaj się z próbką rozszerzenia WebGPU.

Chrome 123: interfejs Events API obsługuje filtrowanie według bloków CIDR

Opublikowano

Interfejs Events API obsługuje teraz filtrowanie za pomocą bloków adresów w notacji międzydomenowego routingu bez klasy (CIDR). Blok CIDR to zbiór adresów IP, które mają ten sam prefiks sieci i taką samą liczbę bitów. Wcześniej deweloper, który chciał odfiltrowywać wiele adresów IP, musiał skonfigurować regułę filtra dla każdego adresu w zakresie blokowania. Teraz, gdy rozszerzenie wywołuje funkcję addListener(), przekazana reguła oznacza, że przetwarzacz zdarzeń zostanie wywołany tylko wtedy, gdy część hosta adresu URL jest adresem IP i znajduje się w dowolnym z bloków CIDR określonych w tablicy.

Chrome Web Store: zmiany wymagań dotyczących długości nazwy rozszerzenia

Opublikowano

W sklepie Chrome Web Store w polu "name" w pliku manifest.json rozszerzenia obowiązuje uniwersalny limit 75 znaków. Wcześniej limit dla języka angielskiego wynosił 45 znaków, a w innych lokalizacjach nie było żadnych ograniczeń dla pola "name".

Pierwotnie miało to uwzględniać różnice kulturowe i językowe, których nie da się wyrazić za pomocą tej samej liczby znaków. Niestety niewielka grupa deweloperów wykorzystywała tę funkcję do spamowania sklepu. W związku z tym wprowadzamy nowy uniwersalny limit, który wynosi 75 znaków. Ten limit obejmuje obecnie prawie wszystkie rozszerzenia w sklepie, więc prawdopodobnie nie będziesz musiał(-a) nic robić w związku z tą zmianą. Jeśli spróbujesz przesłać rozszerzenie o nazwie dłuższej niż maksymalny limit, sklep zablokuje przesyłanie.

Post na blogu: eyeo testuje zawieszenie usługi w ramach procesu wdrożeniowego

Opublikowano

W tym poście zespół silnika rozszerzeń eyeo omawia problem testowania pracowników obsługi rozszerzeń. W Manifest V2 rozszerzenia były dostępne na stronie w tle, która była aktywna przez cały czas trwania rozszerzenia. Manifest V3 używa zamiast tego skryptów service worker, które zgodnie z ich przeznaczeniem oszczędzają zasoby, wyłączając się, gdy nie są potrzebne. Stwarza to pewne problemy z testowaniem. Z tego posta dowiesz się, jak eyeo poradziło sobie z tymi wyzwaniami.

Chrome 123: alarmy są teraz odtwarzane, gdy urządzenie jest uśpione

Opublikowano

Alarmy ustawione za pomocą interfejsu chrome.alarms API nie są już opóźniane, gdy urządzenie przechodzi w tryb uśpienia. Gdy urządzenie się wybudzi, alarm włączy się raz, niezależnie od tego, ile alarmów zostało przegapionych. Jeśli np. alarm jest ustawiony tak, aby wygasał raz na godzinę, a urządzenie, na którym jest on ustawiony, jest w stanie uśpienia od 12:55 do 2:05 rano, tylko alarm o 2:00 rano uruchamia zdarzenie onAlarm. Zostanie uruchomiony jak najbliżej godziny 2:00 AM i natychmiast po przebudzeniu urządzenia, jeśli było uśpione.

Ta zmiana wprowadza w Chrome zachowanie zgodne z uzgodnionym zachowaniem w grupie dyskusyjnej Web Extensions Community Group.

Post na blogu: zmiany w działaniu bfcache w przypadku portów wiadomości rozszerzeń

Opublikowano

Pamięć podręczna stanu strony internetowej (bfcache) to rodzaj optymalizacji przeglądarki, która umożliwia błyskawiczną nawigację w obu kierunkach. Od wersji 123 Chrome, 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 na tę stronę nie będą wysyłane żadne wiadomości. Dlatego skrypty rozszerzenia powinny nasłuchiwać zdarzeń cyklu życia, takich jakonDisconnect, i ustawiać nowe połączenie, gdy strona zostanie przywrócona z BFCache.

Więcej informacji i przykładowy kod znajdziesz w artykule Zmiany w zachowaniu BFCache w przypadku portów wiadomości rozszerzeń.

Chrome 122: obsługa obietnic w aplikacji asynchronicznej interfejsów API

Opublikowano

Zakończyliśmy implementację obsługi obietnic we wszystkich asynchronicznych metodach interfejsu API rozszerzeń. Zrobiliśmy to, aby zmodernizować metody interfejsu API, poprawiając ergonomię działania operacji asynchronicznych. Kilka metod (np. desktopCapture.chooseDesktopMedia()) nadal obsługuje tylko wywołania zwrotne, ponieważ ich obecne interfejsy nie są zgodne z obietnicami. W celu zapewnienia zgodności wstecznej nadal obsługiwane są wywołania zwrotne. Jeśli znajdziesz obietnicę, która się nie powiedzie, zgłoś błąd.

Nowe wskazówki dotyczące komunikacji w czasie rzeczywistym

Opublikowano

Właśnie opublikowaliśmy przewodniki dotyczące opcji w czasie rzeczywistym w rozszerzeniach. Aktualizacje w czasie rzeczywistym zapewniają natychmiastową komunikację między serwerami a instalacjami rozszerzeń. Dodatkowo mamy nowe wskazówki dotyczące korzystania z chrome.gcm, Web Push.

Nowe wskazówki i przykład: testowanie anulowania usługi

Opublikowano

Właśnie opublikowaliśmy przewodnik Testowanie zakończenia działania service workera za pomocą Puppeteer. Dołączony przykład pokazuje to w przypadku Puppeteer i Selenium.

Zaktualizowany przykład dotyczący wiadomości natywnych

Opublikowano

Właśnie opublikowaliśmy zaktualizowany przykład natywnych aplikacji do obsługi wiadomości. Ten interfejs API umożliwia rozszerzeniu uruchamianie innej aplikacji i komunikowanie się z nią. Dziękujemy autorowi Shubham-Rasal za pomoc w tym zakresie.

Chrome 121: nowa właściwość lastAccessed na karcie tabs.Tab

Opublikowano

Do obiektu tabs.Tab dodaliśmy nową 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 „tło” kluczy powoduje teraz wyświetlenie ostrzeżenia

Opublikowano

Podczas przejścia z Manifestu V2 na Manifest V3 podklucze "background" klucza manifestu zostało zmienione, aby umożliwić zastąpienie skryptów w tle przez pracowników usługi rozszerzenia. Wcześniej dodanie kluczy Manifest V2 "scripts", "page" lub "persistent" do klucza "background" rozszerzenia Manifest V3 powodowało błąd. Obecność tych kluczy powoduje teraz wyświetlenie ostrzeżenia.

Robimy to, aby umożliwić korzystanie z jednego pliku manifestu w rozszerzeniach w różnych przeglądarkach zgodnie z propozycją w grupie społeczności.

Chrome 120: zmniejszenie minimalnej dokładności alarmu do 30 sekund

Opublikowano

Od wersji 120 Chrome rozszerzenia Manifest V3 mogą używać interfejsu API chrome.alarms z opóźnieniami lub okresami 30 sekund, zamiast wymagać wartości co najmniej 60 sekund.

Post na blogu: wznowienie przejścia na Manifest V3

Opublikowano

Zaktualizowano harmonogram obsługi Manifest V2. Więcej informacji znajdziesz w poście na blogu z listopada 2023 r.

Post na blogu: ulepszenia obsługi filtrowania treści w pliku manifestu V3

Opublikowano

Więcej informacji o ulepszeniach interfejsu deklaratywnego NetRequest API znajdziesz w nowym poście na blogu.

Post na blogu: Nowości w Chrome 120 dotyczące rozszerzeń

Opublikowano

Niedawno została wydana wersja beta Chrome 120. Podsumowanie ważnych zmian dla programistów rozszerzeń znajdziesz w nowym wpisie na blogu: Nowości w Chrome 120 dotyczące rozszerzeń. Ta wersja jest też ważnym krokiem naprzód, ponieważ usuwa z listy krytycznych braków na platformie 2 ostatnie pozycje (userScripts i obsługa plików w ChromeOS).

Komunikat: zmiana sposobu obsługi adresów URL polityki prywatności w Panelu dewelopera

Opublikowano

Polityki prywatności w Panelu dewelopera są teraz dodawane na poziomie produktu. Dzięki temu możesz określić inne zasady prywatności dla każdego produktu. Więcej informacji o tej zmianie znajdziesz w materiałach informacyjnych.

Film: rozmowa z Mattem Frisbie

Opublikowano

Właśnie opublikowaliśmy nowy film na kanale Chrome for Developers w YouTube, w którym rozmawiamy z ekspertem Google w zakresie programowania i autorem Mattem Frisbie. Obejrzyj go tutaj.

Nowe wskazówki dotyczące testowania rozszerzeń

Opublikowano

Opublikowaliśmy właśnie nowe wskazówki dotyczące pisania testów automatycznych rozszerzeń, w tym jak pisać testy jednostkowe, a także ogólne wskazówkisamouczek na temat testów kompleksowych.

Post na blogu: co się dzieje z rozszerzeniami do Chrome – październik 2023 r.

Opublikowano

Opublikowaliśmy właśnie drugą edycję artykułu Co nowego w rozszerzeniach do Chrome. W poście omawiamy, nad czym pracował zespół ds. rozszerzeń w ostatnich miesiącach, w tym nad rozwiązywaniem problemów ze stabilnością usług w ramach service workera i nad wypełnianiem luk w funkcjonalnościach na platformie MV3. Udostępniamy też informacje o nadchodzących wersjach interfejsów API, takich jak interfejsy API Listy do czytania i Skrypty użytkownika.

Zwiększone limity statycznych reguł w deklaratywnym interfejsie Net Request API

Opublikowano

Po otrzymaniu opinii od grupy społecznościowej rozszerzeń internetowych zwiększamy znacznie 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 Canary.

Ulepszone wskazówki dotyczące kodu hostowanego zdalnie

Opublikowano

Wymaganiem platformy Manifest V3 jest to, że rozszerzenia nie mogą już używać kodu hostowanego zdalnie. Chociaż od początku znajduje się on w naszym przewodniku po migracji, uznaliśmy, że warto ulepszyć te wskazówki. Ta strona zawiera teraz więcej informacji, w tym opis tego, co jest nadal możliwe w pliku manifestu V3, oraz wskazówki dotyczące strategii aktualizacji.

W artykule Rozwiązywanie problemów związanych z naruszeniem zasad Chrome Web Store znajdziesz dodatkowe informacje. Nowa sekcja zawiera opis typowych przyczyn odrzucania rozszerzeń z kodem hostowanym zdalnie.

Chrome 118: wartość domyślna parametru isUrlFilterCaseSensitive to teraz „fałsz”

Opublikowano

Od wersji 118 Chrome właściwość isUrlFilterCaseSensitive w interfejsie API chrome.declarativeNetRequest została domyślnie zmieniona na false. Jeśli chcesz zachować stare zachowanie, możesz w regułach declarativeNetRequest wyraźnie ustawić wartość isUrlFilterCaseSensitive na true.

Ta zmiana następuje po dyskusjach w grupie dotyczącej rozszerzeń internetowych. Firefox i Safari wprowadziły już podobne zmiany.

Dokumentacja dotycząca plików cookie i interfejsów API pamięci internetowej

Opublikowano

Opublikowaliśmy nowy przewodnik o tym, jak działają pliki cookie i interfejsy API pamięci internetowej w rozszerzeniach Chrome. Zawiera on szczegółowe informacje o zmianach w partycjonowaniu plików cookie i miejsca na dane w ramach Piaskownicy prywatności, trwającego projektu wycofywania plików cookie innych firm przez utworzenie serii nowych interfejsów API platformy internetowej oraz szczegóły dotyczące ich działania w rozszerzeniach.

Przykłady rozszerzeń są teraz dostępne w wyszukiwarce

Opublikowano

Niedawno utworzyliśmy stronę, na której możesz przeszukiwać przykłady rozszerzeń Chrome. Na stronie wyszukiwania jest kilka opcji. Pole wyszukiwania umożliwia wyszukiwanie tekstu w tytułach przykładowych. Możesz ograniczyć wyszukiwanie do 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 strona przykładowa została stworzona przez Xuezhou Dai, uczestniczkę programu Google Summer of Code, która przesłała też kilka nowych przykładów. Więcej informacji o ich doświadczeniach z zeszłego lata znajdziesz w poście na naszym blogu.

Podobnie jak wcześniej, nasze przykładowe kody są nadal dostępne na GitHubie do klonowania lub forkowania.

Chrome 118: zmiany w otwieraniu plików: adresy URL schematu

Opublikowano

Od wersji 118 Chrome, aby otwierać adresy URL z użyciem schematu file:// za pomocą interfejsów API kart lub okienek, rozszerzenia muszą mieć włączone ustawienie „Zezwalaj na dostęp do adresów URL plików” na stronie chrome://extensions. Możesz sprawdzić ten dostęp za pomocą wywołania chrome.extension.isAllowedFileSchemeAccess(). Firefox już ogranicza adresy URL plików, a Safari obsługuje tę zmianę. Więcej informacji znajdziesz w poście w Grupie dyskusyjnej Google Extensions.

Chrome 117: rozszerzone zabezpieczenia adresów URL w przypadku nawigacji w interfejsie API rozszerzeń

Opublikowano

Wcześniej nawigacja wywoływana przez wywołania interfejsu API rozszerzenia dla tabs.update(), tabs.create()windows.create() powodowała błąd w przypadku niektórych adresów URL chrome://. Ponadto wywoływanie tabs.update() za pomocą adresu URL JavaScript było zabronione. W wersji 117 te zabezpieczenia dotyczące adresów URL skryptów JavaScript zostały rozszerzone o metodę tabs.create(), a do listy zabronionych adresów URL, która dotyczy wszystkich wymienionych wcześniej metod, dodano kilka dodatkowych adresów URL w formacie chrome://.

Ulepszone wskazówki dotyczące interfejsu declarativeNetRequest API

Opublikowano

Interfejs API chrome.declarativeNetRequest blokuje lub modyfikuje żądania sieciowe, określając reguły deklaratywnie. Dzięki temu rozszerzenia mogą modyfikować żądania sieci bez ich przechwytywania i przeglądania zawartości, co zapewnia użytkownikom większą prywatność. Jest też trudny w użyciu. Mając to na uwadze, napisaliśmy ponownie te wskazówki, aby były bardziej zrozumiałe i ułatwiały wdrażanie reguł deklaratywnych. Aby zapoznać się z nową sekcją, kliknij link powyżej.

Korzystanie z konta Google Analytics w Chrome Web Store

Opublikowano

Chrome Web Store oferuje integrację z Google Analytics, która umożliwia wyświetlanie statystyk dotyczących Twojej strony w Chrome Web Store oprócz widoku dostępnego w Panelu dewelopera. Więcej informacji znajdziesz w artykule Korzystanie z konta Google Analytics w Chrome Web Store.

Chrome 115: Narzędzia deweloperskie domyślnie pomijają skrypty treści

Opublikowano

Wstrzyknięte skrypty treści są teraz domyślnie uwzględnione na liście ignorowanych w DevTools. Nie ma to wpływu na punkty przerwania, ale oznacza, że podczas debugowania skrypty treści będą pomijane, a wyjątki z tych skryptów będą ignorowane. Gdy skrypt treści jest otwarty na karcie Źródła, baner informuje o tym, że jest włączony, i oferuje opcję usunięcia skryptu z listy ignorowanych. Aby wyłączyć to zachowanie, otwórz DevTools, przejdź do Ustawień, a następnie do Listy ignorowania. Więcej informacji znajdziesz w artykule Nowości w Narzędziach deweloperskich.

Chrome 116 beta: więcej niż się mieści

Opublikowano

Chrome 116 to ważna wersja dla rozszerzeń. Panele boczne można teraz otwierać programowo. Nowa metoda pozwala sprawdzić, czy aktywny jest dokument poza ekranem. Usługi w tle zostały ulepszone. W wersji 116 jest wystarczająco dużo ulepszeń, aby napisać post na blogu. Od 19 lipca Chrome 116 jest w wersji beta.

Post na blogu: co się dzieje z rozszerzeniami do Chrome

Opublikowano

Właśnie opublikowaliśmy przegląd tegorocznych zmian i ulepszeń rozszerzeń. W artykule omawiamy najważniejsze nowe funkcje tego roku, w tym interfejs Side Panel API, ulepszenia dla service workerów i dokumenty poza ekranem. Zobaczysz też, nad czym pracujemy w tym kwartale. W artykule znajdziesz więcej informacji i linki do wszystkich funkcji.

Nowe wskazówki i przykłady: dowiedz się, jak korzystać z Google Analytics 4 w rozszerzeniu do Chrome

Opublikowano

Opublikowaliśmy nowe wskazówki i przykłady dotyczące Google Analytics i lokalizacji geograficznej:

Chrome 115: Podanie wielu powodów w funkcji chrome.offscreen.createDocument()

Opublikowano

Teraz podczas wywoływania funkcji chrome.offscreen.createDocument() możesz podać wiele stałych reason. Użyj tej opcji, gdy dokument poza ekranem ma być używany do różnych celów. Przeglądarka używa podanych powodów, aby określić czas trwania dokumentu poza ekranem.

Nowe narzędzie: Narzędzie do testowania aktualizacji rozszerzeń

Opublikowano

Właśnie udostępniliśmy narzędzie do testowania aktualizacji rozszerzeń, czyli lokalny serwer aktualizacji rozszerzeń, który można wykorzystać do testowania aktualizacji rozszerzeń Chrome podczas lokalnego tworzenia, w tym przyznawania uprawnień. Narzędzie pokazuje proces aktualizacji użytkownika, w tym wyłączenie rozszerzenia do czasu przyznania przez użytkownika nowych wymaganych uprawnień. To narzędzie jest szczególnie przydatne do symulowania zmian uprawnień wymaganych podczas aktualizowania rozszerzenia z wersji Manifest V2 na Manifest V3.

Chrome 114: nowy interfejs Side Panel API

Opublikowano

Przedstawiamy nowy interfejs API panelu bocznego – narzędzie towarzyszące, które umożliwia użytkownikom dostęp do narzędzi podczas przeglądania treści. Więcej informacji znajdziesz w dokumentacji interfejsu Side Panel API. Dodatkowo do naszego repozytorium przykładów na GitHubie dodaliśmy wiele przykładów panelu bocznego. Więcej informacji o panelach bocznych znajdziesz w nowym wpisie na blogu Projektowanie lepszych interfejsów użytkownika za pomocą nowego interfejsu API panelu bocznego. Zaktualizowaliśmy też nasze wytyczne dotyczące zasadsprawdzonych metod, aby zapewnić Ci dodatkowe wskazówki dotyczące tworzenia wysokiej jakości rozszerzeń do panelu bocznego.

Twoja opinia jest ważna dla nas podczas tworzenia tego interfejsu API. Udostępniaj swoje uwagi i propozycje funkcji w grupach Chromium. Bądź na bieżąco z nowymi informacjami o dalszym ulepszaniu interfejsu Side Panel API.

Nowe przykłady: WASM w rozszerzeniach

Opublikowano

Dostępne są 2 nowe przykłady, które pokazują, jak używać WASM w rozszerzeniu:

Specjalne podziękowania dla współtwórcy GitHuba @daidr za te przykłady.

Zaktualizowane wskazówki dotyczące migracji do pliku manifestu w wersji 3

Opublikowano

W sekcji Znane problemy w artykule Wskazówki dotyczące migracji na Manifest V3 uwzględniliśmy zaktualizowaną listę braków w platformie rozszerzeń, które zamierzamy uzupełnić przed ogłoszeniem harmonogramu wycofywania Manifestu V2.

Nagrywanie dźwięku i wideo za pomocą pliku manifestu w wersji 3

Opublikowano

Opublikowaliśmy właśnie nowy artykuł Nagrywanie dźwięku i zrzuty ekranu, który zawiera informacje o nagrywaniu dźwięku lub wideo z karty, okna lub ekranu w pliku manifestu V3. W tym artykule opisaliśmy różne podejścia do rejestrowania, które wykorzystują interfejs API chrome.tabCapture i funkcję getDisplayMedia().

Chrome 114: zwiększony limit miejsca na dane storage.local

Opublikowano

Zwiększyliśmy limit usługi storage.local do około 10 MB. Uzgodniono to w grupie dyskusyjnej społeczności Web Extensions. Dzięki temu storage.local będzie zgodny z storage.session, który został zmieniony w Chrome 112.

Samouczek i pomoc dotycząca nowego rozszerzenia usługi

Opublikowano

Usługa w tle jest nieodłączną częścią rozszerzeń do Chrome. Właśnie opublikowaliśmy samouczek, który wyjaśnia podstawy rejestrowania, debugowania i interakcji z usługami wtyczki. Dodaliśmy też nowy przewodnik po serwisach działających w tle, który szczegółowo omawia ważne zagadnienia. W najbliższych miesiącach rozszerzymy tę sekcję.

Więcej wskazówek dotyczących rozwiązywania problemów z naruszeniami zasad dotyczących sklepu internetowego

Opublikowano

Aby ułatwić publikowanie w Chrome Web Store, dodaliśmy nowe wskazówki w 2 obszarach. Wytyczne dotyczące minimalnej funkcjonalności koncentrują się na zapewnieniu użytkownikom korzyści i bogatszego przeglądania. Wytyczne dotyczące reklam partnerskich mają na celu poinformowanie użytkowników o rozszerzeniach korzystających z linków lub kodów partnera reklamowego do generowania przychodu oraz zapewnienie im pewnej kontroli poprzez wymaganie podjęcia działania przez użytkownika przed uwzględnieniem.

Nowe instrukcje dotyczące konwertera pliku manifestu rozszerzenia

Opublikowano

Zmieniliśmy treść pliku README dla konwertera pliku manifestu rozszerzenia, aby ułatwić Ci sprawdzenie, co musisz zrobić po uruchomieniu narzędzia. Konwerter ułatwia przenoszenie rozszerzeń utworzonych na platformie Manifest V2 na platformę Manifest V3. Nowy plik README opisuje działanie narzędzia, używając słów bardzo podobnych do tych, które znajdują się na liście kontrolnej przewodnika po migracji. Konwerter nie wykonuje wszystkich zadań, ale eliminuje wiele zadań, które nie wymagają ludzkiej oceny.

Chrome 113: nowe przyczyny wyłączenia wyświetlania dokumentów

Opublikowano

Dodaliśmy do interfejsu Offscreen Documents API 2 nowe typy przyczyn. Użyj LOCAL_STORAGE, aby uzyskać dostęp do interfejsu API localStorage platformy internetowej. Podczas tworzenia web workerów używaj funkcji WORKER.

Google Analytics 4 w Panelu dewelopera

Data publikacji:

Panel dewelopera Chrome Web Store obsługuje teraz Google Analytics 4 (GA4). Uprościliśmy konfigurowanie Google Analytics i zarządzanie dostępem dla wydawców grupowych. Jeśli wcześniej do śledzenia aktywności związanej z informacjami o sklepie używałeś Google Universal Analytics, musisz podjąć odpowiednie działania do 1 lipca 2023 r., aby nadal otrzymywać dane o informacjach o sklepie. Więcej informacji znajdziesz w poście w grupie dyskusyjnej Google dotyczącej rozszerzeń Chromium.

Interfejs File Handling API dostępny w ChromeOS

Opublikowano

Interfejs API Menedżera plików jest dostępny do eksperymentowania w ChromeOS w wersji Canary 112 i 113. Umożliwia ono otwieranie przez rozszerzenia w ChromeOS 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 na tej stronie.

Aby włączyć obsługę plików:

  • Od wersji 112 uruchamiaj Chrome za pomocą flagi --enable-features=ExtensionWebFileHandlers
  • Od wersji 113 wklej os://flags/#extension-web-file-handlers do paska wyszukiwania w Chrome i w menu wybierz „Włączone”.

Mamy nadzieję, że udostępnimy tę funkcję w Chrome 115 pod koniec czerwca. Zaglądaj na tę stronę, aby otrzymywać najnowsze informacje.

Nowe przykłady: deklaracje dynamiczne i wstrzykiwanie programowe

Opublikowano

Przygotowaliśmy nowy przykład interfejsu API chrome.scripting. Pokazuje deklaracje dynamiczne, w których skrypt treści jest rejestrowany w czasie działania, oraz wstrzykiwanie programowe, w którym skrypt jest wykonywany na karcie, która jest już otwarta.

Nowe przykłady: deklaratywna obsługa żądań sieciowych

Opublikowano

Dostępne są 3 nowe przykłady, które pokazują, jak korzystać z interfejsu Deklaratywnego żądania sieciowego API. Każdy z nich pokazuje implementację jednego przypadku użycia. Pierwszy pokazuje, jak blokować pliki cookie. Pozostałe 2 przykłady pokazują blokowanie i przekierowywanie adresów URL.

Chrome 112: zwiększony limit sesji storage.

Opublikowano

Od wersji 112 Chrome limit dla usługi storage.session został zwiększony do około 10 MB. Uzgodniono to w grupie społeczności WebExtensions: https://github.com/w3c/webextensions/issues/350

Chrome 109: dokumenty poza ekranem

Data publikacji:

Dokumenty poza ekranem są teraz dostępne w rozszerzeniach pliku manifestu w wersji 3. Te interfejsy API ułatwiają przejście z stron w tle na skrypty service worker rozszerzeń, ponieważ obsługują funkcje i interfejsy API związane z DOM. Więcej informacji znajdziesz w tym poście na blogu.

Chrome 110: czy rozszerzenie jest włączone

Opublikowano

Metoda chrome.action.isEnabled() sprawdza programowo, czy rozszerzenie zostało włączone na określonej karcie. Dzięki temu nie musisz utrzymywać kart w trybie włączonym. Ta nowa metoda przyjmuje identyfikator karty i odwołanie do funkcji wywołania zwrotnego, a następnie zwraca wartość logiczną. Ma ona jedną wadę: karty utworzone za pomocą chrome.declarativeContent zawsze zwracają wartość false.

(przestrzeń nazw chrome.action została niedawno wzbogacona o nowe metody kontrolowania wyglądu plakietek rozszerzeń. Więcej informacji znajdziesz w artykule Ustawianie kolorów plakietki.

Chrome 110: zmiana limitu czasu bezczynności usługi workera

Opublikowano

Wcześniej usługa rozszerzenia często wyłączała się po 5 minutach. Zmieniliśmy to zachowanie, aby bardziej przypominało czas działania usługi w internecie. Wątek usługi rozszerzenia zostanie zamknięty po 30 sekundach bezczynności lub jeśli przetwarzanie pojedynczej czynności zajmie więcej niż 5 minut. Więcej informacji znajdziesz w artykule Wydłużenie czasu działania pracowników obsługi rozszerzeń.

Post: Pausing Manifest V2 phase-out

Opublikowano

Terminy wycofania platformy Manifest V2 są obecnie sprawdzane, a eksperymenty zaplanowane na początek 2023 r. są odkładane. Więcej informacji znajdziesz w aktualizacji w grupie dyskusyjnej Google dotyczącej rozszerzeń Chromium.

Chrome 110: ustawienia kolorów plakietki

Opublikowano

W przestrzeni nazw chrome.action dostępne są 2 nowe metody, które dają Ci większą kontrolę nad wyglądem plakietki rozszerzenia. Metody setBadgeTextColor()getBadgeTextColor() umożliwiają rozszerzeniu zmianę i wyszukiwanie koloru tekstu plakietki ikony na pasku narzędzi. Gdy są używane z setBadgeBackgroundColorgetBadgeBackgroundColor, umożliwiają wymuszanie spójności w projektowaniu i markach.

Post na blogu: Więcej informacji o przechodzeniu na Manifest V3

Opublikowano

Wyjaśniliśmy harmonogram wycofywania platformy Manifest V2. Zaktualizowaliśmy też harmonogram wsparcia Manifest V2, aby uwzględniał te informacje.

Aktualizacja Dokumentów: znane problemy podczas migracji na Manifest V3

Opublikowano

Przygotowaliśmy listę głównych funkcji, nad którymi obecnie pracujemy, oraz otwartych błędów. Ta strona ma pomóc deweloperom lepiej zrozumieć obecny stan platformy i to, na jakie funkcje mogą się skupić, przygotowując się na przyszłość.

Chrome Web Store: usunięto przesyłanie obrazu „duża płytka promocyjna”

Opublikowano

W Chrome Web Store usunięto interfejs przesyłania „dużej płytki promocyjnej” z karty „Informacje o produkcie” w panelu dewelopera. Ta zmiana nie ma wpływu na wygodę użytkowników, ponieważ te obrazy nie były używane w interfejsie użytkownika. Więcej informacji znajdziesz w tym poście na forum rozszerzeń Chromium.

Chrome 106: Zezwalaj stronom z adresami URL typu file:// na dostęp do zasobów dostępnych w internecie

Opublikowano

Źródła nieprzezroczyste, takie jak ramki iframe w piaskownicy i import dynamiczny, powinny również mieć dostęp do zasobów dostępnych w internecie (crbug.com/1219825#c11).

Chrome 106: Naprawiono błąd, który umożliwiał nieprawidłowe argumenty końcowe w niektórych funkcjach interfejsu API asynchronicznego

Opublikowano

Wcześniej manifest V3 wywołujący asynchroniczne interfejsy API mógł przekazywać nieprawidłowy ostatni argument, a Chrome nie wyświetlał błędu. Dzięki tej poprawce Chrome będzie teraz prawidłowo wyświetlać błąd i informować, że nie znaleziono pasującego podpisu. Zachęcamy deweloperów do sprawdzenia swoich rozszerzeń w wersji Canary pod kątem błędów, ponieważ mogą one przypadkowo używać nieprawidłowej sygnatury dla wywołania interfejsu API, które zostanie uszkodzone przez tę poprawkę.

Post na blogu: uaktualnienie funkcji analitycznych Chrome Web Store

Opublikowano

W panelu dewelopera Chrome Web Store wprowadzono nową wersję funkcji analityki produktów. Nowy panel jest łatwiejszy do zrozumienia na pierwszy rzut oka i zawiera najważniejsze informacje. Aby dowiedzieć się więcej, przeczytaj ten post na blogu.

Chrome 105: obietnice dotyczące interfejsu Identity API

Opublikowano

Funkcje w interfejsie Identity API obsługują teraz wywołania oparte na obietnicach. W tym celu wprowadzamy niewielką zmianę w funkcji identity.getAuthToken(), w której parametr „token” i „grantedScopes” w ramach wywołania opartego na obietnicy będą zwracane asynchronicznie jako parametry w ramach pojedynczego obiektu (w przeciwieństwie do wersji z funkcją wywołania zwrotnego, która otrzymuje te parametry jako osobne argumenty).

Chrome 104: nowy interfejs favicons API dla platformy Manifest V3

Opublikowano

Rozszerzenia Manifest V3 mogą teraz uzyskiwać dostęp do ikon aplikacji za pomocą nowego wzorca adresu URL: chrome-extension://<id>/_favicon/, gdzie to identyfikator rozszerzenia. Zastępuje on interfejs API chrome://favicons platformy Manifest V2. Więcej informacji znajdziesz w dokumentacji interfejsu Favicon API.

Aktualizacja dokumentów: oświadczenie dewelopera o prowadzeniu działalności gospodarczej lub nieprowadzeniu działalności gospodarczej

Opublikowano

Dodano identyfikację dewelopera jako przedsiębiorcy lub nieprzedsiębiorcy, która informuje deweloperów, aby dokładnie określili swój status przedsiębiorcy lub nieprzedsiębiorcy.

Chrome 103: Wasm w pliku manifestu V3 wymaga użycia wasm-unsafe-eval

Opublikowano

Chrome nie przyznaje już rozszerzeniom uprawnień script-src: wasm-unsafe-eval domyślnie. Rozszerzenia korzystające z WebAssembly muszą teraz wyraźnie dodawać tę dyrektywę i wartość do extension_pages w deklaracjach content_security_policy.

Chrome 103: zmiana skrótów MV3 zacznie obowiązywać natychmiast

Opublikowano

Gdy zmienisz skrót klawiszowy rozszerzenia Manifest V3 w chrome://extensions/shortcuts, zmiany zostaną teraz zastosowane natychmiast. Wcześniej, aby zmiany zaczęły obowiązywać, trzeba było ponownie wczytać rozszerzenie.

Chrome 102: Dynamic content scripts in main world

Opublikowano

Dynamicznie rejestrowane skrypty treści mogą teraz określać świat, do którego mają być wstrzykiwane zasoby. Więcej informacji znajdziesz w sekcji scripting.registerContentScripts().

Chrome 102: nowe pole pliku manifestu „optional_host_permissions”

Opublikowano

Rozszerzenia manifestu V3 mogą teraz określać klucz optional_host_permissions w pliku manifest.json. Dzięki temu rozszerzenia platformy Manifest V3 mogą deklarować opcjonalne wzorce dopasowania dla hostów tak samo jak rozszerzenia platformy Manifest V2 za pomocą klucza optional_permissions.

Chrome 102: właściwość injectImmediately w skrypcie.executeScript()

Opublikowano

Funkcja chrome.scripting.executeScript() przyjmuje teraz opcjonalną właściwość injectImmediately w swoim argumencie injection. Jeśli jest obecny i ma wartość Prawda, skrypt zostanie wstrzyknięty do celu tak szybko, jak to możliwe, zamiast czekać na document_idle. Pamiętaj, że nie gwarantujemy, że skrypt zostanie wstrzyknięty przed wczytaniem strony, ponieważ wczytywanie strony trwa nadal podczas wywoływania interfejsu API.

Chrome 102: obsługa interfejsu API omniboksa w platformie Manifest V3

Opublikowano

Interfejs Omnibox API może być teraz używany w rozszerzeniach opartych na usługach workera. Wcześniej niektóre metody tego interfejsu API mogły rzucać błędy podczas wywołania z powodu wewnętrznych zależności od możliwości DOM.

Chrome 102: dozwolone wywołanie wasm-unsafe-eval w platformie CSP Manifest V3

Opublikowano

Rozszerzenia Manifest V3 mogą teraz zawierać wasm-unsafe-eval w deklaracjach content_security_policy. Ta zmiana umożliwia rozszerzeniom Manifest V3 korzystanie z WebAssembly.

Chrome 102: nowy interfejs storage.session API

Opublikowano

Rozszerzenia platformy Manifest V3 mogą teraz korzystać z miejsca na dane w pamięci storage.session .

Aktualizacja Dokumentów: wyszukiwanie produktów w Chrome Web Store

Opublikowano

Odkrywanie aplikacji w Chrome Web Store to artykuł, który opisuje, jak użytkownicy znajdują aplikacje w Chrome Web Store i jak nasi redaktorzy wybierają pozycje do wyróżnienia.

Chrome 101: ulepszone warunki dotyczące domen w przypadku deklaratywnego wywołania NetRequest

Opublikowano

Warunki reguły declarativeNetRequest zostały zaktualizowane, aby umożliwić rozszerzeniom lepsze kierowanie żądań na podstawie domen „request” i „initiator” żądania. Właściwości warunków to initiatorDomains, excludedInitiatorDomains, requestDomains i excludedRequestDomains. Zobacz też ten wątek dotyczący rozszerzeń Chromium.

Chrome 100: rozwiązano problem z funkcją scripting.executeScript() na nowo utworzonych kartach

Rozwiązaliśmy długotrwały problem, który powodował, że wywołanie funkcji scripting.executeScript() na nowo utworzonej karcie lub w nowym oknie mogło się nie udać.

Chrome 100: natywny port wiadomości umożliwia utrzymanie workera usługi

Opublikowano

Połączenie z domyślnym hostem wiadomości za pomocą chrome.runtime.connectNative() w usługowym workerze rozszerzenia powinno utrzymywać workera usługi w stanie aktywnym, dopóki port jest otwarty.

Chrome 100: omnibox.setDefaultSuggestion() obsługuje obietnice i funkcje zwrotne

Opublikowano

Metoda omnibox.setDefaultSuggestion() zwraca teraz obietnicę lub przyjmuje wywołanie zwrotne, aby umożliwić deweloperom określenie, kiedy sugestia została prawidłowo ustawiona.

Chrome 100: obsługa funkcji i18n.getMessage() w workerach rozszerzeń

Opublikowano

Interfejs API chrome.i18n.getMessage() jest teraz obsługiwany w kontekstach rozszerzenia usługi.

Chrome 99: match_origin_as_fallback w wersji Canary

Opublikowano

Skrypty treści mogą teraz określać klucz match_origin_as_fallback, który ma być wstrzykiwany do ramek powiązanych z pasującym ramką, w tym ramek z adresami URL about:, data:, blob: i filesystem:. Więcej informacji znajdziesz w dokumentacji skryptów treści.

Chrome 99: obsługa rozszerzeń typu service worker w przypadku schematów file: w wersji Canary

Opublikowano

Rozszerzenia Manifest V2 i Manifest V3 oparte na usługach workera mogą teraz używać interfejsu Fetch API do wysyłania żądań do adresów URL ze schematem file:. Dostęp do adresów URL ze schematem file: wymaga jednak, aby użytkownik na stronie chrome://extensions włączył opcję „Zezwól na dostęp do adresów URL plików”.

Chrome 99: obiecana obsługa interfejsów API wiadomości w wersji Canary

Data publikacji:

Dodano obsługę obietnic w tabs.sendMessage, runtime.sendMessageruntime.sendNativeMessage w przypadku rozszerzeń utworzonych na platformie Manifest V3.

Aktualizacja dokumentów: dokumentacja dotycząca opinii w Chrome Web Store

Opublikowano

Dodaliśmy nową stronę referencyjną, która zawiera omówienie procesu sprawdzania w Chrome Web Store oraz wyjaśnia, jak działa egzekwowanie zasad programu dla deweloperów.

Chrome 98: wywołania scripting.executeScript() i scripting.insertCSS() obsługują wiele plików

Opublikowano

Metody executeScript() i insertCSS() interfejsu Scripting API obsługują teraz wiele plików. Wcześniej te metody wymagały tablicy z jednym wpisem pliku.

Aktualizacja dokumentów: aktualizacje dotyczące rozwiązywania problemów z naruszeniami zasad

Opublikowano

Strona Rozwiązywanie problemów związanych z naruszeniem zasad Chrome Web Store została zaktualizowana, aby zapewnić deweloperom bardziej szczegółowe wskazówki dotyczące typowych przyczyn odrzucenia.

Chrome 96: rozszerzenie obsługi obietnic o 27 interfejsów API

Data publikacji:

Ta wersja zawiera znacznie więcej aktualizacji obietnic niż jakakolwiek poprzednia. Aktualizacje obejmują interfejsy API rozszerzeń ogólnych i specyficznych dla ChromeOS. Aby uzyskać szczegółowe informacje, rozwiń poniższe sekcje.

Interfejsy API rozszerzeń

Kilka interfejsów API obsługuje teraz obietnice w Manifest V3.

Ponadto interfejsy API, które korzystają z prototypu ChromeSetting, obsługują teraz też obietnice. Ta zmiana dotyczy tych interfejsów API:

Interfejsy API ChromeOS

Chrome 96: skrypty treści dynamicznych

Opublikowano

Interfejs API chrome.scripting obsługuje teraz rejestrowanie, aktualizowanie, wyrejestrowanie i pobieranie listy skryptów treści w czasie wykonywania. Wcześniej skrypty treści można było deklarować tylko statycznie w pliku manifest.json rozszerzenia lub wstrzykiwać programowo w czasie działania za pomocą funkcji chrome.scripting.executeScript().

Aktualizacja Dokumentów: harmonogram obsługi Manifest V2

Opublikowano

Harmonogram przejścia z Manifestu V2 na V3 został ogłoszony w tym poście na blogu, a także opublikowano szczegółowy harmonogram.

Chrome 96: uprawnienie declarativeNetRequestWithHostAccess

Opublikowano

Nowe uprawnienie declarativeNetRequestWithHostAccess pozwala rozszerzeniom korzystać z interfejsu chrome.declarativeNetRequest w witrynach, do których mają one uprawnienia hosta. Umożliwia to także migrację istniejących rozszerzeń Manifest V2, które używają uprawnień webRequest, webRequestBlocking i hosta dla konkretnej witryny, do interfejsu API chrome.declarativeNetRequest bez konieczności zatwierdzania przez użytkownika nowych uprawnień.

Chrome 95: wstrzykiwanie skryptów bezpośrednio na stronach

Opublikowano

Metoda executeScript() interfejsu API chrome.scripting może teraz wstrzykiwać skrypty bezpośrednio do głównego świata strony. Wcześniej rozszerzenia mogły być wdrażane tylko bezpośrednio w izolowanym środowisku rozszerzenia. Więcej informacji o odizolowanych światach znajdziesz w dokumentacji dotyczącej skryptów treści.

Chrome 95: obsługa interfejsu Storage API

Opublikowano

Metody w wersji Manifest V3 interfejsu API chrome.storage zwracają teraz obietnice.

Aktualizacja zasad: wymuszanie weryfikacji dwuetapowej

Opublikowano

Zaktualizowaliśmy post na blogu dotyczący aktualizacji zasad opublikowany 29 czerwca 2021 r., aby poprawić harmonogram wdrażania weryfikacji dwuetapowej.

Chrome 94: zmiany w regułach statycznych deklaratywnego zapytania sieciowego

Opublikowano

chrome.declarativeNetRequest obsługuje teraz określanie maksymalnie 50 statycznych zestawów reguł (MAX_NUMBER_OF_STATIC_RULESETS) oraz włączanie maksymalnie 10 z nich (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) jednocześnie.

Chrome 93: obsługa izolowania zasobów z innych domen

Opublikowano

Zarówno rozszerzenia Manifest V2, jak i Manifest V3 mogą teraz korzystać z izolacji między domenami. Ta funkcja ogranicza zasoby między domenami, które mogą wczytywać strony rozszerzenia, oraz umożliwia korzystanie z funkcji niskiego poziomu platformy internetowej, takich jak SharedArrayBuffer. Począwszy od Chrome 95 wymagana będzie zgoda użytkownika.

Aktualizacja zasad: zaktualizowaliśmy zasady programu dla deweloperów

Opublikowano

Zaktualizowaliśmy Zasady programu dla deweloperów w Chrome Web Store, dodając do nich wyjaśnienia dotyczące wprowadzających w błąd taktyk instalacyjnych, spamu i powtarzających się treści. Ta aktualizacja obejmuje też nowy wymóg weryfikacji dwuetapowej, który jest wymagany do publikowania w Chrome Web Store. Aby dowiedzieć się więcej, przeczytaj ten post na blogu.

Post na blogu: działania rozszerzenia w Manifest V3

Opublikowano

Rozszerzenia Chrome przez lata korzystały z interfejsów API chrome.browserAction i chrome.pageActions, ale manifest w wersji 3 zastąpił je ogólnym interfejsem API chrome.actions. W tym poście omawiamy historię tych interfejsów API oraz zmiany w pliku Manifest V3. Przeczytaj wpis

Post na blogu: przedstawiamy chrome.scripting

Opublikowano

Interfejs chrome.scripting API to nowy interfejs Manifest V3 API, który skupia się na skryptowaniu. W tym poście omawiamy powody tej zmiany i nowe możliwości usługi. Przeczytaj wpis

Chrome 92: obsługa modułu workera usługi

Opublikowano

Chrome obsługuje teraz moduły JavaScriptu w usługach wtyczek. Aby określić moduł w pliku manifestu:

"background": {
  "service_worker": "script.js",
  "type": "module"
}

Spowoduje to załadowanie skryptu instancji roboczej jako modułu ES, co umożliwi Ci użycie w tym skrypcie słowa kluczowego import do importowania innych modułów.

Chrome 91: chrome.action.getUserSettings()

Opublikowano

Nowa metoda chrome.action.getUserSettings() pozwala rozszerzeniom określić, czy użytkownik przypiął je do głównego paska narzędzi.

Chrome 90: chrome.scripting.removeCSS()

Opublikowano

Nowa metoda chrome.scripting.removeCSS() pozwala rozszerzeniom usuwać kod CSS, który został wcześniej wstawiony za pomocą metody chrome.scripting.insertCSS(). Zastępuje chrome.tabs.removeCSS().

Chrome 90: zwracanie obietnic z funkcji scripting.executeScript()

Opublikowano

chrome.scripting.executeScript() obsługuje teraz obietnice zwrotu. Jeśli wynik wykonania skryptu to obietnica, Chrome zaczeka, aż obietnica zostanie zrealizowana, i zwróci jej wartość.

Chrome 90: wyniki wywołania chrome.scripting.executeScript() zawierają identyfikator frameId

Opublikowano

Wyniki zwracane przez funkcję chrome.scripting.executeScript() zawierają teraz parametr frameId. Właściwość frameId wskazuje ramkę, z której pochodzi wynik, dzięki czemu rozszerzenia mogą łatwo kojarzyć wyniki z poszczególnymi klatkami podczas wstrzykiwania w wiele klatek.

Chrome 89: nowy interfejs API do zarządzania grupami kart

Opublikowano

Nowy interfejs API chrome.tabGroups i nowe możliwości w chrome.tabs umożliwiają rozszerzeniom odczytywanie i modyfikowanie grup kart. Wymaga pliku manifestu w wersji 3.

Chrome 89: możliwość dostosowania uprawnień do zasobów dostępnych w internecie

Opublikowano

Definicje zasobów dostępnych w internecie w platformie Manifest V3 uległy zmianie, aby umożliwić rozszerzeniom ograniczanie dostępu do zasobów na podstawie pochodzenia żądania lub identyfikatora rozszerzenia.

Post na blogu: Konwerter pliku manifestu rozszerzenia

Opublikowano

Zespół ds. rozszerzeń Chrome udostępnił na licencji open source narzędzie w języku Python o nazwie „Extension Manifest Converter”, które automatyzuje niektóre aspekty konwertowania rozszerzeń na platformę Manifest V3. Przeczytaj post na blogu z ogłoszeniem i pobierz go z GitHuba.

Chrome 88: ogólna dostępność platformy Manifest V3

Opublikowano

Manifest V3 to ważna aktualizacja platformy rozszerzeń. W artykule Omówienie Manifest V3 znajdziesz podsumowanie nowych i zmienionych funkcji. Rozszerzenia mogą nadal używać Manifestu V2, ale w najbliższej przyszłości będziemy stopniowo wycofywać tę wersję. Zdecydowanie zalecamy używanie wersji Manifest V3 w przypadku nowych rozszerzeń i jak najszybszą migrację dotychczasowych rozszerzeń na tę wersję.