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 stabilnych i beta.
Chrome 132: wyświetlanie i edytowanie miejsca na dane rozszerzenia w Narzędziach deweloperskich
Od wersji 132 Chrome możesz wyświetlać i edytować dane zapisane za pomocą interfejsu chrome.storage
API w Narzędziach deweloperskich. Więcej informacji znajdziesz w nowej stronie Wyświetlanie i edytowanie miejsca na rozszerzenia w dokumentacji DevTools.
Post na blogu: nowe menu rozszerzeń
Opublikowano
Podczas konferencji Google I/O 2024 przedstawiliśmy wstępne projekty nadchodzących zmian w menu rozszerzeń, które dadzą użytkownikom większą kontrolę nad dostępem rozszerzeń do witryn. Wkrótce zaczniemy testować te zmiany, zaczynając od niewielkiej grupy użytkowników wersji Canary. Mamy nadzieję, że w przyszłości będziemy mogli wprowadzić je na większą skalę.
Wprowadzamy też interfejs chrome.permissions.addHostAccessRequest()
API.
Więcej informacji znajdziesz w poście na blogu.
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 wyzwania dotyczącego wbudowanej AI
Opublikowano
W Chrome rozpoczęliśmy konkurs zintegrowanej 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 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, dlatego są one 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 Chrome Web Store, podsumowała wszystkie zmiany w poście na blogu Rozszerzenia Chrome: ważne zmiany zasad.
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 zaczęliśmy wycofywać Manifest V2. Dowiedz się więcej z Nowości w rozszerzeniach do Chrome (lipiec).
Wideo: co to jest kod hostowany zdalnie?
Opublikowano
Patrick z zespołu odpowiedzialnego za rozszerzenia do Chrome wyjaśnia pojęcie 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. rozwoju aplikacji rozszerzeń do Chrome spotkał się z zespołem ds. zaufania i bezpieczeństwa, który prowadzi proces sprawdzania w Chrome Web Store, aby odpowiedzieć na Twoje 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
Chrome 126 wprowadza nowe pole manifest.json – trial_tokens
, które umożliwia stosowanie testów wersji próbnej i wycofania 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 rozszerzeniach Chrome. W poście opisano, nad czym zespół ds. rozszerzeń pracował w ostatnich miesiącach. Dotyczy to m.in. funkcji przywracania 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 blogu i tej dokumentacji.
Chrome 124: Zaawansowane interfejsy 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 worker usługi rozszerzeń
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 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"
.
Początkowo miało to uwzględniać różnice kulturowe i językowe, których nie można 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: jak eyeo testowało zawieszenie usługi workera
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 API chrome.alarms
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 przeoczonych. Jeśli na przykład alarm jest ustawiony tak, aby wychodził raz na godzinę, a urządzenie, na którym jest ustawiony, jest w stanie uśpienia od 12:55 do 2:05 rano, tylko alarm o 2:00 rano uruchamia zdarzenie onAlarm
.
Wyzwalacz 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 dotyczące 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ą ścieżkę komunikacji z serwerów bezpośrednio do instalacji 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 wyświetla teraz ostrzeżenie
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 aktualizacji 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 podać inne zasady prywatności dla każdego produktu. Więcej informacji o tej zmianie znajdziesz w PSA.
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 ds. programowania w Google 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ówki i samouczek na temat testów kompleksowych.
Post na blogu: zmiany w rozszerzeniach 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ć informacje na ten temat. 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 na ten temat. 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 wyraźnie ustawić wartość isUrlFilterCaseSensitive
na true
w regułach declarativeNetRequest.
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, czyli trwającego projektu wycofywania plików cookie innych firm poprzez tworzenie 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 przygotowana 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
Począwszy od wersji 118 Chrome, aby otwierać adresy URL z użyciem schematu file:// za pomocą interfejsów API kart lub okienek, rozszerzenia będą musiały 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 dotyczące 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
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: kroki w Narzędziach dewelopera dotyczące skryptów treści domyślnie
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żesz teraz otwierać za pomocą kodu. Nowa metoda pozwala sprawdzić, czy aktywny jest dokument poza ekranem. W usługach workerów wprowadzono kilka ulepszeń. 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:
- Zaktualizowana wersja naszego przewodnika po Google Analytics, który wyjaśnia, 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: podać wiele powodów w ramach funkcji chrome.offscreen.createDocument()
Opublikowano
Teraz podczas wywoływania funkcji chrome.offscreen.createDocument()
możesz podać wiele wartości wyliczonych 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, dopóki użytkownik nie przyzna nowych 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 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 rozwijaniu 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:
- 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
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 zrzutów 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 społeczności WebExtensions. 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 w tle. 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 naruszeniem zasad w Google Play Store
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 zapewnianiu korzyści użytkownikom i bogaceniu ich wrażeń z 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 znalezienie informacji o tym, 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. Aby uzyskać dostęp do interfejsu localStorage API platformy internetowej, użyj LOCAL_STORAGE
. Podczas tworzenia web workerów używaj funkcji WORKER
.
Google Analytics 4 w Panelu dewelopera
Opublikowano
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 zestaw reguł do manifest.json
. 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 funkcje ułatwiają przejście z użytkowania stron w tle do skryptów service workera rozszerzenia, ponieważ zapewniają obsługę funkcji i interfejsów API związanych 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 jedno ograniczenie: 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ług w sieci. 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 rozszerzenia.
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()
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
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 chromium-extensions.
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 iframe w piaskownicy i dynamiczne importowanie, 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 analizy 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 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 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 platformie Manifest 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: zmiany skrótów MV3 zaczną obowiązywać natychmiast
Opublikowano
Gdy zmienisz skrót klawiszowy rozszerzenia Manifest V3 w chrome://extensions/shortcuts
, zmiany zostaną teraz zastosowane natychmiast. Wcześniej, aby zmiana zaczęła 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 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 gwarantuje to, że skrypt zostanie wstrzyknięty przed załadowaniem strony, ponieważ strona jest nadal wczytywana 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ć wyjątki podczas wywołania z powodu wewnętrznych zależności od możliwości DOM.
Chrome 102: zezwalanie na 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 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ą aplikacje 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”. 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
Usługa workera w rozszerzeniu, która łączy się z domyślnym hostem wiadomości za pomocą chrome.runtime.connectNative()
, powinna utrzymywać usługę workera tak długo, jak długo 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 workera.
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 wiadomości w Canary
Data publikacji:
Dodano obsługę obietnic w przypadku rozszerzeń utworzonych na platformie Manifest V3 i obsługiwanych przez te platformy: tabs.sendMessage
, runtime.sendMessage
i runtime.sendNativeMessage
.
Aktualizacja dokumentów: dokumentacja dotycząca opinii w Chrome Web Store
Opublikowano
Dodano nową stronę referencyjną, która zawiera omówienie procesu sprawdzania w Chrome Web Store oraz wyjaśnia, jak stosuje się zasady 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: rozszerzona obsługa 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ć więcej informacji, 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
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 należy spełnić, aby opublikować aplikację 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łów usług workerów
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żliwia użycie w tym skrypcie słowa kluczowego import
do importowania innych modułów.
Chrome 91: chrome.action.getUserSettings()
Data publikacji:
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ć CSS, który został wcześniej wstawiony za pomocą 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 strony wnoszącej żądanie lub identyfikatora rozszerzenia.
Post na blogu: Konwerter pliku manifestu rozszerzenia
Opublikowano
Zespół odpowiedzialny za rozszerzenia do 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 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 zostanie on wycofany. Zdecydowanie zalecamy używanie wersji Manifest V3 w przypadku nowych rozszerzeń i jak najszybszą migrację dotychczasowych rozszerzeń na tę wersję.