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
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.
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
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
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()
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
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 responseHeaders
i excludedResponseHeaders
. 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?
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
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.
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?
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
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
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
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
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
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
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
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
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.
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
Przywróć rozszerzenie do poprzedniej opublikowanej wersji w Chrome Web Store – bez dodatkowej weryfikacji. Więcej informacji znajdziesz w tym poście na blogu i tej dokumentacji.
Chrome 124: Zaawansowany interfejs API documentScan
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
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
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
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
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
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ń
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
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
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
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
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
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
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
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
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
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ń
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
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
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ń
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ówki i samouczek na temat testów kompleksowych.
Post na blogu: co się dzieje z rozszerzeniami do Chrome – październik 2023 r.
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
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
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”
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
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
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
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ń
Wcześniej nawigacja wywoływana przez wywołania interfejsu API rozszerzenia dla tabs.update()
, tabs.create()
i 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
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
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
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
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
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
Opublikowaliśmy nowe wskazówki i przykłady dotyczące Google Analytics i lokalizacji geograficznej:
- Zaktualizowana wersja naszych wskazówek dotyczących Google Analytics, które wyjaśniają, jak korzystać z Google Analytics 4 w rozszerzeniu Chrome. Dodaliśmy też do naszego repozytorium przykładowych danych na GitHubie działający przykładowy profil Google Analytics 4. Aby uzyskać odpowiedni kod związany z Google Analytics, wejdź na stronę
google-analytics.js
. - Nowy przewodnik po geolokalizacji oraz 3 przykłady pokazujące, jak uzyskać dostęp do geolokalizacji w usługach workerów, skryptach treści, wyskakujących okienek i paneli bocznych.
Chrome 115: Podanie wielu powodów w funkcji chrome.offscreen.createDocument()
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ń
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
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 zasad i sprawdzonych 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
Dostępne są 2 nowe przykłady, które pokazują, jak używać WASM w rozszerzeniu:
- Używanie WASM w pliku manifestu V3 zawiera ogólną metodę włączania modułu WASM.
- W artykule Używanie WASM jako modułu w pliku manifestu V3 znajdziesz informacje o tym, jak używać WASM w module.
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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()
i getBadgeTextColor()
umożliwiają rozszerzeniu zmianę i wyszukiwanie koloru tekstu plakietki ikony na pasku narzędzi. Gdy są używane z setBadgeBackgroundColor
i getBadgeBackgroundColor
, umożliwiają wymuszanie spójności w projektowaniu i markach.
Post na blogu: Więcej informacji o przechodzeniu na Manifest V3
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
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”
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
Ź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
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
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
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
Rozszerzenia Manifest V3 mogą teraz uzyskiwać dostęp do ikon aplikacji za pomocą nowego wzorca adresu URL: chrome-extension://<id>/_favicon/
, gdzie 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
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
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
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
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”
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()
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
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
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
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
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
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
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
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ń
Interfejs API chrome.i18n.getMessage()
jest teraz obsługiwany w kontekstach rozszerzenia usługi.
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ć 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
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
Dodano obsługę obietnic w tabs.sendMessage
, runtime.sendMessage
i runtime.sendNativeMessage
w przypadku rozszerzeń utworzonych na platformie Manifest V3.
Aktualizacja dokumentów: dokumentacja dotycząca opinii w Chrome Web Store
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
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
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
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.
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
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.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: skrypty treści dynamicznych
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
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
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
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
Metody w wersji Manifest V3 interfejsu API chrome.storage
zwracają teraz obietnice.
Aktualizacja zasad: wymuszanie weryfikacji dwuetapowej
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
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
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
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
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
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
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()
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()
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()
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
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
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
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
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
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ę.