Często odwiedzaj tę stronę, aby dowiedzieć się o zmianach w rozszerzeniach do Chrome, dokumentacji rozszerzeń, powiązanych zasadach lub innych zmianach. Inne powiadomienia znajdziesz na liście adresowej rozszerzeń do Chrome. W harmonogramie Chrome znajdziesz daty publikacji wersji stabilnych i beta.
Chrome 139: usuwanie flag --extensions-on-chrome-urls
i --disable-extensions-except
w wersjach Chrome z logo
Opublikowano
Od Chrome 139 w oficjalnych wersjach Chrome zostaną usunięte flagi wiersza poleceń --extensions-on-chrome-urls i --disable-extensions-except. Więcej informacji znajdziesz na liście adresowej.
Chrome 138: zmiany na stronie nowej karty
Opublikowano
W Chrome 138 wprowadzamy nowy interfejs strony nowej karty z nowym stopką. Więcej informacji znajdziesz na liście adresowej.
Post na blogu: Zaktualizuj rozszerzenia przed wprowadzeniem zmian w zakładkach
Opublikowano
Wprowadzamy zmiany w synchronizacji zakładek, które mogą mieć wpływ na Twoje rozszerzenie. Więcej informacji znajdziesz w poście na blogu.
Post na blogu: Nowości w rozszerzeniach do Chrome w czerwcu 2025 r.
Opublikowano
Ostatnio dużo się działo – odbyła się konferencja Google I/O, a w Chrome i Chrome Web Store pojawiło się kilka nowych funkcji. Dowiedz się więcej o zmianach w rozszerzeniach do Chrome w czerwcu 2025 r.
Film: Whack-a-Mole w przeglądarce – czy to możliwe?
Data publikacji:
Z naszego najnowszego filmu dowiesz się, jak stworzyć grę w przeglądarce.
Film: wyjaśnienie nowego menu rozszerzeń w Chrome
Opublikowano
Więcej informacji o eksperymentalnym nowym menu rozszerzeń znajdziesz w naszym najnowszym filmie Wyjaśnienie nowego menu rozszerzeń w Chrome .
Film: rozszerzenia są świetne!
Data publikacji:
Dowiedz się, jak zacząć tworzyć rozszerzenia, w odcinku 1 serii „Rozszerzenia są super”. Zobacz też, jak elastyczne jest dostosowywanie Chrome, w odcinku 2.
Chrome 135: nowy interfejs userScripts.execute() API
Opublikowano
Od Chrome 135 w interfejsie chrome.userScripts
API dostępna jest nowa metoda userScripts.execute()
. Możesz użyć tej metody, aby wstrzyknąć skrypt użytkownika jednorazowo w dowolnym momencie, zamiast rejestrować go na stałe.
Chrome 132: wyświetlanie i edytowanie pamięci rozszerzeń w Narzędziach deweloperskich
Opublikowano
Od Chrome 132 możesz wyświetlać i edytować w Narzędziach deweloperskich dane przechowywane za pomocą interfejsu chrome.storage
API. Więcej informacji znajdziesz na nowej stronie Wyświetlanie i edytowanie pamięci rozszerzenia w dokumentacji Narzędzi deweloperskich.
Post na blogu: nowe menu rozszerzeń
Opublikowano
Podczas Google I/O 2024 r. zaprezentowaliśmy wstępne projekty nadchodzących zmian w menu rozszerzeń, które zapewnią użytkownikom większą kontrolę nad tym, do jakich witryn rozszerzenia mogą uzyskiwać dostęp. Wkrótce zaczniemy testować te zmiany, początkowo w niewielkiej grupie użytkowników wersji Canary. Mamy nadzieję, że w przyszłości będziemy mogli je szerzej udostępnić.
Wprowadzamy też interfejs chrome.permissions.addHostAccessRequest()
API.
Więcej informacji znajdziesz w naszym poście na blogu.
Chrome 132: nowa właściwość frozen w interfejsie Tabs API
Opublikowano
Od Chrome 132 właściwość frozen
w interfejsie Tabs API wskazuje, czy karta została zamrożona przez przeglądarkę. Wiadomości wysyłane na zamrożone karty będą umieszczane w kolejce i obsługiwane po odmrożeniu karty.
Interfejs Prompt API w rozszerzeniach do Chrome
Opublikowano
Interfejs Prompt API for Extensions jest teraz dostępny w ramach testowania origin, dzięki czemu możesz tworzyć rozszerzenia do Chrome, które w przeglądarce korzystają z Gemini Nano, naszego najbardziej wydajnego modelu językowego.
Dołącz do wersji próbnej interfejsu Prompt API, która jest dostępna w Chrome w wersjach od 131 do 136, i prześlij swoją opinię. Twoje opinie mogą bezpośrednio wpłynąć na sposób, w jaki będziemy tworzyć i wdrażać przyszłe wersje tego interfejsu API oraz wszystkich wbudowanych interfejsów API AI.
Post na blogu: Nowości w rozszerzeniach do Chrome w październiku 2024 r.
Opublikowano
Czas na kolejne podsumowanie nowości w rozszerzeniach do Chrome: mamy dla Ciebie ciekawe informacje o integracji AI, nowych interfejsach API, wydarzeniach i filmach. Więcej informacji znajdziesz w artykule Co nowego w rozszerzeniach do Chrome w październiku.
Dołącz do wyzwania związanego z wbudowaną AI
Opublikowano
Chrome ogłosił konkurs „Built-in AI Challenge”. Zapraszamy do tworzenia innowacyjnych aplikacji internetowych i rozszerzeń do Chrome z wykorzystaniem zintegrowanych modeli AI i interfejsów API Chrome. Możesz wygrać nagrody o łącznej wartości 65 000 USD.
Zarejestruj się i dowiedz się więcej na stronie wyzwania dotyczącego wbudowanej AI. Nie możemy się doczekać, aby zobaczyć, co stworzysz, gdy wykorzystasz AI w internecie.
Chrome 130: action.onUserSettingsChanged
Opublikowano
Od Chrome 130 dostępne jest zdarzenie action.onUserSettingsChanged. Jest to zgodne z propozycją w grupie społeczności WebExtensions. Dziękujemy firmie Microsoft za wkład w Chromium.
Chrome 130: StorageArea.getKeys()
Opublikowano
Od Chrome 130 w interfejsie StorageArea używanym przez interfejs chrome.storage
API dostępna jest metoda getKeys(). Jest to zgodne z propozycją w grupie społeczności WebExtensions.
Chrome 128: dopasowywanie nagłówków odpowiedzi w deklaratywnym żądaniu sieciowym
Opublikowano
W Chrome 128 dodajemy obsługę dopasowywania nagłówków odpowiedzi w interfejsie Declarative Net Request API. Było to częste żądanie, szczególnie w przypadku dopasowywania nagłówka Content-Type. Wspólnie z grupą WebExtensions Community Group opracowaliśmy odpowiedni interfejs API.
Zaktualizowaliśmy dokumentację interfejsu API, aby uwzględnić nowe pola responseHeaders
i excludedResponseHeaders
. Możesz ich używać do sprawdzania, czy dany nagłówek istnieje i jaką ma wartość.
W ramach tej aktualizacji dodaliśmy do dokumentacji nową sekcję Ocena reguł, w której wyjaśniamy, jak dopasowywane są reguły. W przypadku dopasowywania nagłówków reguły mogą być uruchamiane dopiero po otrzymaniu nagłówków odpowiedzi, więc są stosowane na późniejszym etapie niż inne reguły. Oznacza to, że żądanie dociera do serwera, zanim zostanie zablokowane lub przekierowane.
Film: czym są skrypty zawartości?
Opublikowano
Dowiedz się więcej o skryptach dotyczących zawartości w rozszerzeniach do Chrome, w tym o tym, jak rejestrować CSS i JavaScript, aby uruchamiać je na określonej stronie. Obejrzyj cały film
Ważne aktualizacje zasad
Opublikowano
Zespół Chrome Web Store opublikował serię aktualizacji na stronie Zasady programu dla deweloperów, które mają zachęcać do tworzenia produktów wysokiej jakości, zapobiegać wprowadzaniu użytkowników w błąd i zapewniać ich świadomą zgodę. Rebecca Soares, menedżer ds. zasad Chrome Web Store, podsumowała wszystkie zmiany w tym poście na blogu.
Post na blogu: Nowości w rozszerzeniach do Chrome w lipcu 2024 r.
Opublikowano
W ciągu ostatnich 3 miesięcy wprowadziliśmy kilka istotnych aktualizacji i nowych funkcji, w tym rozpoczęliśmy wycofywanie Manifestu V2. Dowiedz się więcej o nowościach w rozszerzeniach do Chrome w lipcu.
Film: co to jest kod hostowany zdalnie?
Opublikowano:
Patrick z zespołu rozszerzeń do Chrome wyjaśnia koncepcję kodu hostowanego zdalnie w rozszerzeniach do Chrome. Dowiedz się, dlaczego RHC nie jest już dozwolone, jak je wykrywać i co zrobić, jeśli Twoje rozszerzenie wymaga aktualizacji. Obejrzyj cały film
Chrome 127: nowy interfejs API action.openPopup
Opublikowano:
Od Chrome 127 interfejs action.openPopup
jest dostępny dla wszystkich rozszerzeń. Wcześniej była ona 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ół DevRel ds. rozszerzeń do Chrome spotkał się z zespołem ds. zaufania i bezpieczeństwa, który prowadzi weryfikację w Chrome Web Store, aby zadać mu Twoje pytania. Obejrzyj cały film
Post na blogu: rozpoczyna się wycofywanie platformy Manifest V2
Opublikowano
Od 3 czerwca w wersjach beta, deweloperskich i Canary Chrome użytkownicy, którzy nadal mają zainstalowane rozszerzenia platformy Manifest V2, zaczną widzieć baner z ostrzeżeniem podczas odwiedzania strony zarządzania rozszerzeniami – chrome://extensions. Będzie on informować, że niektóre zainstalowane rozszerzenia (platformy Manifest V2) wkrótce przestaną być obsługiwane. Więcej informacji znajdziesz w oficjalnym ogłoszeniu.
Aktualizacje interfejsu panelu bocznego
Opublikowano
Niedawno wprowadziliśmy kilka zmian w interfejsie panelu bocznego, w tym dodaliśmy ikonę pinezki i usunęliśmy globalną ikonę panelu bocznego. Więcej informacji znajdziesz w komunikacie. Zapoznaj się też z naszą zaktualizowaną dokumentacją i przykładami.
Post na blogu: Rozszerzenia do Chrome na Google I/O 2024
Opublikowano
Kolejna konferencja Google I/O za nami. Omówiliśmy wszystkie ekscytujące nowości dotyczące rozszerzeń. Obejrzyj pełne nagranie w YouTube i przeczytaj nasz post na blogu, aby poznać najważniejsze informacje.
Pomijanie weryfikacji kwalifikujących się zmian w deklaratywnym żądaniu sieciowym
Data opublikowania:
Chrome Web Store umożliwia teraz pomijanie weryfikacji kwalifikujących się zmian podczas korzystania z interfejsu Declarative Net Request API. Więcej informacji o kryteriach kwalifikacji i sposobie włączenia tej funkcji znajdziesz w dokumentacji Chrome Web Store.
deployPercentage dostępny w interfejsie Chrome Web Store API
Opublikowano
Niedawno zaktualizowaliśmy dokumentację interfejsu Chrome Web Store API, aby dodać informacje o parametrze deployPercentage
, który umożliwia przypisanie procentu wdrożenia częściowego. Więcej informacji o deployPercentage
Chrome 126: testy origin w rozszerzeniach
Opublikowano
W Chrome 126 wprowadziliśmy nowe pole manifest.json – trial_tokens
, które umożliwia włączenie wersji próbnych origin i wersji próbnych wycofywania na wszystkich powierzchniach rozszerzeń. Więcej informacji znajdziesz w przewodniku.
Post na blogu: Co się dzieje w rozszerzeniach do Chrome – kwiecień 2024 r.
Opublikowano
Opublikowaliśmy nową edycję Nowości w rozszerzeniach do Chrome. Post opisuje, nad czym zespół ds. rozszerzeń pracował w ciągu ostatnich kilku miesięcy. Obejmuje to m.in. wycofywanie wersji w Chrome Web Store, lepszą obsługę Firebase Auth oraz więcej premier i aktualizacji interfejsów API.
Cofanie wersji w Panelu dewelopera Chrome Web Store
Opublikowano
Przywróć poprzednią opublikowaną wersję rozszerzenia w Chrome Web Store bez dodatkowej weryfikacji. Więcej informacji znajdziesz w poście na blogu i dokumentacji.
Chrome 124: zaawansowany interfejs API documentScan
Data publikacji:
W ChromeOS jest teraz dostępny zaawansowany documentScan
interfejs API, który umożliwia wykrywanie i pobieranie obrazów z podłączonych skanerów dokumentów.
Chrome 124: obsługa WebGPU w skryptach service worker
Data publikacji:
Od Chrome w wersji 124 service workerzy obsługują WebGPU. Aby szybko zacząć, zapoznaj się z przykładowym rozszerzeniem WebGPU.
Chrome 123: interfejs Events API obsługuje filtrowanie według bloków CIDR
Data publikacji:
Interfejs Events API obsługuje teraz filtrowanie według bloków międzydomenowego routingu bez klasy (CIDR). Blok CIDR to zbiór adresów IP, które mają wspólny prefiks sieci i tę samą liczbę bitów. Wcześniej deweloper, który chciał odfiltrować wiele adresów IP, musiał skonfigurować regułę filtra dla każdego adresu w zakresie bloków. Teraz, gdy rozszerzenie wywołuje
addListener()
, przekazana reguła oznacza, że procedura obsługi zdarzeń zostanie wywołana tylko wtedy, gdy część hosta adresu URL jest adresem IP i znajduje się w jednym z bloków CIDR określonych w tablicy.
Chrome Web Store: zmiany w wymaganiach dotyczących długości nazwy rozszerzenia
Opublikowano
W Chrome Web Store obowiązuje teraz uniwersalny limit 75 znaków w przypadku pola "name"
rozszerzenia w pliku manifest.json. Wcześniej limit znaków w języku angielskim wynosił 45, a w przypadku innych języków nie było ograniczeń w polu "name"
.
Pierwotnie miało to uwzględniać różnice kulturowe i językowe, których nie można było wyrazić w tej samej liczbie znaków. Niestety niewielka grupa deweloperów nadużywała tej funkcji, aby spamować sklep. Wprowadzamy nowy limit uniwersalny, który wynosi 75 znaków. Ten limit obejmuje prawie wszystkie rozszerzenia w sklepie, więc w wyniku tej zmiany prawdopodobnie nie będziesz musiał(-a) nic robić. Jeśli spróbujesz przesłać rozszerzenie o nazwie dłuższej niż limit, sklep zablokuje przesyłanie.
Post na blogu: eyeo i testowanie zawieszenia instancji roboczej usługi
Opublikowano
W tym poście zespołu eyeo ds. Extension Engine omawiamy problem testowania procesów roboczych usług rozszerzeń. W przypadku Manifest V2 rozszerzenia działały na stronie w tle, która była aktywna przez cały cykl życia rozszerzenia. Manifest V3 używa skryptów service worker, które z założenia oszczędzają zasoby, wyłączając się, gdy nie są potrzebne. Stwarza to pewne wyzwania związane z testowaniem. Z tego posta dowiesz się, jak firma eyeo poradziła sobie z tymi wyzwaniami.
Chrome 123: alarmy działają teraz, gdy urządzenie jest uśpione
Opublikowano
Alarmy ustawione za pomocą interfejsu chrome.alarms
API nie są już opóźniane, gdy urządzenie przechodzi w tryb uśpienia. Gdy urządzenie się wybudzi, alarm włączy się tylko raz, niezależnie od tego, ile alarmów zostało pominiętych. Załóżmy na przykład, że alarm jest ustawiony tak, aby włączać się co godzinę, a urządzenie, na którym jest ustawiony, jest w trybie uśpienia od 00:55 do 2:05. W takim przypadku tylko alarm o godzinie 2:00 wywoła zdarzenie onAlarm
.
Zostanie uruchomiony jak najbliżej godziny 2:00, a także od razu po wybudzeniu urządzenia, jeśli było ono uśpione.
Dzięki tej zmianie Chrome będzie działać zgodnie z ustaleniami grupy Web Extensions Community Group.
Post na blogu: Zmiany w działaniu pamięci podręcznej typu „wstecz/do przodu” w przypadku portów wiadomości rozszerzeń
Opublikowano
Pamięć podręczna stanu strony internetowej (bfcache) to optymalizacja przeglądarki, która umożliwia błyskawiczną nawigację w obu kierunkach. Od wersji Chrome 123, gdy strona z otwartym portem rozszerzenia jest przechowywana w pamięci podręcznej stanu strony internetowej, kanał wiadomości jest zamykany, co oznacza, że do tej strony nie będą wysyłane żadne wiadomości.
W związku z tym skrypty rozszerzeń powinny nasłuchiwać zdarzeń cyklu życia, takich jak onDisconnect
, i konfigurować nowe połączenie, gdy strona zostanie przywrócona z pamięci podręcznej BFCache.
Więcej informacji i przykładowy kod znajdziesz w artykule Zmiany w działaniu pamięci podręcznej BFCache w przypadku portów wiadomości rozszerzenia.
Chrome 122: obsługa obietnic w asynchronicznych interfejsach API rozszerzeń
Opublikowano:
Zakończyliśmy wdrażanie obsługi Promise we wszystkich asynchronicznych metodach interfejsu API rozszerzeń. Zostało to zrobione w celu unowocześnienia metod interfejsu API przez zwiększenie wygody obsługi operacji asynchronicznych. Kilka metod (np. desktopCapture.chooseDesktopMedia()
) nadal obsługuje tylko wywołania zwrotne, ponieważ ich obecne interfejsy nie są zgodne z obiektami Promise. Na potrzeby zgodności wstecznej wywołania zwrotne są nadal obsługiwane. Jeśli znajdziesz obietnicę, która nie działa, zgłoś błąd.
Nowe wytyczne dotyczące komunikacji w czasie rzeczywistym
Opublikowano
Opublikowaliśmy właśnie 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 rozszerzenia. Dodaliśmy też nowe wskazówki dotyczące korzystania z chrome.gcm i Web Push.
Nowe wskazówki i przykłady: testowanie zakończenia działania service workera
Opublikowano
Właśnie opublikowaliśmy przewodnik na temat testowania zakończenia działania service workera za pomocą Puppeteera. Przykładowy kod pokazuje, jak to zrobić w Puppeteer i Selenium.
Zaktualizowany przykład dotyczący wiadomości natywnych
Opublikowano
Właśnie opublikowaliśmy zaktualizowany przykład w przypadku wiadomości natywnych. Ten interfejs API umożliwia rozszerzeniu uruchamianie innej aplikacji i komunikowanie się z nią. Dziękujemy za pomoc użytkownikowi GitHuba Shubham-Rasal.
Chrome 121: nowa właściwość lastAccessed w 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 podana w milisekundach od początku epoki.
Chrome 121: nieobsługiwane klucze „w tle” teraz wyświetlają ostrzeżenie
Opublikowano
W ramach zmiany z Manifest V2 na Manifest V3 elementy podrzędne klucza manifestu "background"
zostały zmienione, aby umożliwić zastąpienie skryptów działających w tle przez procesy robocze 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ć używanie jednego pliku manifestu w rozszerzeniach w wielu przeglądarkach, zgodnie z propozycją w grupie społeczności.
Chrome 120: zmniejszenie minimalnej ziarnistości alarmu do 30 sekund
Opublikowano
Od Chrome 120 rozszerzenia Manifest V3 mogą używać interfejsu API chrome.alarms
z opóźnieniami lub okresami 30-sekundowymi zamiast wymagać wartości 60 sekund lub więcej.
Post na blogu: Wracamy do procesu przejścia na platformę Manifest V3
Opublikowano
Zaktualizowaliśmy harmonogram wsparcia Manifest V2. Więcej informacji znajdziesz w naszym poście na blogu z listopada 2023 r.
Post na blogu: ulepszenia obsługi filtrowania treści w Manifest V3
Opublikowano
Więcej informacji o ulepszeniach interfejsu declarativeNetRequest API znajdziesz w naszym nowym poście na blogu.
Post na blogu: Nowości w Chrome 120 dotyczące rozszerzeń
Opublikowano
Niedawno została udostępniona Chrome 120 w wersji beta. Podsumowanie ważnych aktualizacji dla deweloperów rozszerzeń znajdziesz w naszym nowym poście na blogu: Nowości w Chrome 120 dla rozszerzeń. Ta wersja stanowi też ważny kamień milowy, ponieważ usuwa z listy krytycznych luk w platformie ostatnie 2 elementy (userScripts, file handler on ChromeOS).
PSA: zmiana sposobu obsługi adresów URL polityki prywatności w Panelu dewelopera
Data opublikowania:
Polityki prywatności w Panelu dewelopera są teraz dodawane na poziomie produktu. Dzięki temu możesz podać inną politykę prywatności dla każdego produktu. Więcej informacji o tej zmianie znajdziesz w naszym PSA.
Film: rozmowa z Mattem Frisbie
Opublikowano
Na kanale Chrome for Developers w YouTube opublikowaliśmy właśnie nowy film, w którym rozmawiamy z Mattem Frisbie, ekspertem Google ds. rozwoju i autorem. Obejrzyj go tutaj.
Nowe wskazówki dotyczące testowania rozszerzeń
Data publikacji:
Opublikowaliśmy właśnie nowe wskazówki dotyczące pisania testów automatycznych rozszerzeń, w tym pisania testów jednostkowych, a także ogólne wskazówki i samouczek dotyczący testów kompleksowych.
Post na blogu: Co się dzieje w rozszerzeniach do Chrome – październik 2023 r.
Opublikowano
Opublikowaliśmy właśnie drugą edycję What’s Happening in Chrome Extensions. Post opisuje, nad czym zespół ds. rozszerzeń pracował w ostatnich miesiącach, w tym nad rozwiązaniem problemów ze stabilnością service workerów i nad zniwelowaniem wszystkich różnic między platformami MV3. Informujemy też o nadchodzących wersjach interfejsów API, takich jak Reading List API i User Scripts API.
Zwiększone limity statycznych zestawów reguł w interfejsie Declarative Net Request API
Opublikowano
W odpowiedzi na opinie w grupie społecznościowej Web Extensions znacznie zwiększamy limit włączonych statycznych zestawów reguł z 10 do 50. Zwiększamy też łączną liczbę dozwolonych statycznych zestawów reguł z 50 do 100. Ta funkcja jest obecnie dostępna w wersji Canary.
Ulepszone wskazówki dotyczące kodu hostowanego zdalnie
Opublikowano
Wymaganie dotyczące platformy Manifest V3 polega na tym, że rozszerzenia nie mogą już używać kodu hostowanego zdalnie. Chociaż ten problem od początku był częścią naszego przewodnika po migracji, uznaliśmy, że warto ulepszyć wskazówki dotyczące tego zagadnienia. Na tej stronie znajdziesz teraz więcej informacji o tym, co jest nadal możliwe w przypadku Manifestu V3, oraz o strategiach uaktualniania.
Dodaliśmy powiązany artykuł Rozwiązywanie problemów związanych z naruszeniem zasad Chrome Web Store. W nowej sekcji opisujemy typowe przyczyny odrzucania rozszerzeń z kodem hostowanym zdalnie.
Chrome 118: wartość domyślna parametru isUrlFilterCaseSensitive to teraz false
Data publikacji:
Od Chrome w wersji 118 właściwość isUrlFilterCaseSensitive
w interfejsie chrome.declarativeNetRequest API jest domyślnie ustawiona na false
. Jeśli chcesz zachować stare działanie, możesz w regułach declarativeNetRequest jawnie ustawić isUrlFilterCaseSensitive
na true
.
Jest to zgodne z dyskusjami w grupie społecznościowej Web Extensions. Podobne zmiany zostały już wprowadzone w przeglądarkach Firefox i Safari.
Dokumentacja interfejsów API plików cookie i pamięci lokalnej
Opublikowano
Opublikowaliśmy nowy przewodnik na temat działania plików cookie i interfejsów API pamięci internetowej w rozszerzeniach do Chrome. Zawiera szczegółowe informacje o zmianach w partycjonowaniu plików cookie i miejsca na dane w Piaskownicy prywatności, czyli w projekcie, którego celem jest wycofanie plików cookie innych firm poprzez utworzenie serii nowych interfejsów API platformy internetowej, a także szczegółowe informacje o tym, jak działają one w rozszerzeniach.
Przykłady rozszerzeń można teraz wyszukiwać
Opublikowano
Niedawno utworzyliśmy stronę, na której możesz wyszukiwać przykłady rozszerzeń do Chrome. Strona wyszukiwania ma wiele opcji. Pole wyszukiwania umożliwia wyszukiwanie tekstu w przykładowych tytułach. Możesz ograniczyć wyszukiwanie według uprawnień lub interfejsu API rozszerzenia. Dodatkowy filtr umożliwia ograniczenie wyszukiwania do przykładów interfejsu API lub przykładów funkcjonalnych (przypadków użycia).
Tę nową stronę przykładową stworzył Xuezhou Dai, uczestnik programu Google Summer of Code, który opracował też kilka nowych przykładów. O swoich doświadczeniach z zeszłego lata piszą w poście na naszym blogu.
Jak wcześniej, nasze przykłady kodu są nadal dostępne na GitHubie do sklonowania lub rozwidlenia.
Chrome 118: zmiany w otwieraniu plików: adresy URL schematu
Opublikowano
Od Chrome 118 rozszerzenia będą musiały mieć włączone ustawienie „Zezwalaj na dostęp do adresów URL plików” na stronie chrome://extensions
, aby otwierać adresy URL schematu file:// za pomocą interfejsów Tabs lub Windows API. Dostęp ten możesz sprawdzić programowo, wywołując funkcję chrome.extension.isAllowedFileSchemeAccess()
. Firefox już ogranicza adresy URL plików, a Safari obsługuje tę zmianę. Więcej informacji znajdziesz w poście na liście adresowej rozszerzeń do Chrome.
Chrome 117: rozszerzona ochrona adresów URL w przypadku nawigacji w interfejsie API rozszerzenia
Data opublikowania:
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://. Dodatkowo wywoływanie tabs.update()
z adresem URL JavaScriptu było zabronione. W wersji 117 rozszerzyliśmy ochronę adresów URL JavaScript na metodę tabs.create()
i dodaliśmy do listy zabronionych adresów URL kilka dodatkowych adresów URL chrome://, które mają zastosowanie do wszystkich wspomnianych wcześniej metod.
Ulepszone wskazówki dotyczące interfejsu declarativeNetRequest API
Opublikowano
Interfejs chrome.declarativeNetRequest
API blokuje lub modyfikuje żądania sieciowe, określając reguły deklaratywne. Dzięki temu rozszerzenia mogą modyfikować żądania sieciowe bez ich przechwytywania i wyświetlania ich zawartości, co zapewnia użytkownikom większą prywatność. Jest też trudne w użyciu. W związku z tym zmieniliśmy treść wytycznych, aby lepiej wyjaśnić, jak wdrażać deklaratywne zestawy reguł. Przeczytaj nową sekcję, klikając 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 karty 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
Data publikacji:
Wstrzykiwane skrypty treści są teraz domyślnie na liście ignorowanych w Narzędziach deweloperskich. 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 dotyczący zawartości jest otwarty na karcie Źródła, baner informuje, czy ta opcja jest włączona, i umożliwia usunięcie skryptu dotyczącego zawartości z listy ignorowanych. Aby wyłączyć to zachowanie, otwórz Narzędzia deweloperskie, kliknij Ustawienia, a potem Lista ignorowanych. Więcej informacji znajdziesz w artykule Nowości w Narzędziach deweloperskich.
Chrome 116 w wersji beta: więcej niż możemy tu zmieścić
Data publikacji:
Chrome 116 to ważna wersja dla rozszerzeń. Panele boczne możesz teraz otwierać programowo. Nowa metoda pozwala sprawdzić, czy istnieje aktywny dokument poza ekranem. Usługi Service Worker zostały ulepszone. Wersja 116 zawiera wystarczająco dużo ulepszeń, abyśmy mogli napisać o nich posta na blogu. 19 lipca rozpoczęły się testy wersji beta Chrome 116.
Post na blogu: Co się dzieje w przypadku rozszerzeń do Chrome
Data opublikowania:
Opublikowaliśmy właśnie przegląd tegorocznych zmian i ulepszeń dotyczących rozszerzeń. W tym poście omówiono najważniejsze nowe funkcje wprowadzone w tym roku, w tym interfejs Side Panel API, ulepszenia dotyczące service workerów i dokumenty poza ekranem. Zobaczysz też, nad czym pracujemy w tym kwartale. W artykule znajdziesz znacznie więcej informacji wraz z linkami do wszystkich z nich.
Nowe wskazówki i przykłady: dowiedz się, jak używać Google Analytics 4 w rozszerzeniu do Chrome
Opublikowano
Opublikowaliśmy nowe wskazówki i przykłady dotyczące Google Analytics i geolokalizacji:
- Zaktualizowana wersja naszych wskazówek dotyczących Google Analytics, w której wyjaśniamy, jak używać Google Analytics 4 w rozszerzeniu do Chrome. Do naszego przykładowego repozytorium w GitHubie dodaliśmy też działający przykładowy kod Google Analytics 4. Sprawdź
google-analytics.js
, aby znaleźć odpowiedni kod związany z Google Analytics. - Nowy przewodnik po geolokalizacji i 3 przykłady pokazujące, jak uzyskać dostęp do geolokalizacji w service workerach, skryptach treści, wyskakujących okienkach i panelach bocznych.
Chrome 115: określanie wielu powodów w chrome.offscreen.createDocument()
Opublikowano:
Podczas wywoływania funkcji chrome.offscreen.createDocument()
możesz teraz określić wiele wyliczeń reason
. Użyj tej opcji, gdy dokument poza ekranem będzie używany do różnych celów. Przeglądarka używa podanych powodów do określenia czasu życia 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órego można używać do testowania aktualizacji rozszerzeń do Chrome podczas lokalnego programowania, w tym przyznawania uprawnień. Narzędzie pokazuje proces aktualizacji użytkownika, w tym pozostawienie rozszerzenia wyłączonego do momentu, gdy użytkownik przyzna nowo wymagane uprawnienia. To narzędzie jest szczególnie przydatne do symulowania zmian uprawnień wymaganych podczas aktualizowania rozszerzenia z platformy Manifest V2 do Manifest V3.
Chrome 114: nowy interfejs Side Panel API
Data publikacji:
Przedstawiamy nowy interfejs Side Panel API, który umożliwia użytkownikom dostęp do narzędzi podczas przeglądania treści. Więcej informacji znajdziesz w dokumentacji interfejsu Side Panel API. Dodaliśmy też wiele przykładów paneli bocznych do naszego repozytorium z przykładami w GitHubie. Więcej informacji o panelach bocznych znajdziesz w nowym wpisie na blogu Projektowanie doskonałego interfejsu użytkownika za pomocą nowego interfejsu Side Panel API. Sprawdziliśmy też nasze zasady dotyczące wytycznych jakości i sprawdzone metody, aby zapewnić dodatkowe wskazówki dotyczące tworzenia wysokiej jakości rozszerzeń panelu bocznego.
Twoja opinia jest dla nas ważna podczas tworzenia tego interfejsu API. Podziel się swoimi przemyśleniami i propozycjami nowych funkcji w chromium-groups. Będziemy na bieżąco informować o nowościach wprowadzanych w interfejsie 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:
- W artykule Używanie WASM w Manifest V3 znajdziesz ogólną metodę dodawania modułu WASM.
- W artykule Używanie WASM jako modułu w pliku manifestu V3 znajdziesz informacje o tym, jak używać go w module.
Specjalne podziękowania dla użytkownika GitHuba @daidr za te przykłady.
Zaktualizowane wskazówki dotyczące migracji na platformę Manifest V3
Data opublikowania:
Zaktualizowaliśmy sekcję Znane problemy w naszych wskazówkach dotyczących migracji na Manifest V3 o zaktualizowaną listę luk w platformie rozszerzeń, które zamierzamy usunąć przed ogłoszeniem nowego harmonogramu wycofywania Manifestu V2.
Nagrywanie dźwięku i obrazu w przypadku Manifestu V3
Data opublikowania:
Opublikowaliśmy właśnie nowy artykuł Nagrywanie dźwięku i zrzuty ekranu, w którym opisujemy nagrywanie dźwięku lub wideo z karty, okna lub ekranu w Manifest V3. W tym artykule opisujemy różne sposoby nagrywania z użyciem interfejsu API chrome.tabCapture
i funkcji getDisplayMedia()
.
Chrome 114: zwiększony limit storage.local
Data publikacji:
Zwiększyliśmy limit dla usługi storage.local
do około 10 MB. Zostało to uzgodnione w grupie społecznościowej ds. rozszerzeń internetowych. Dzięki temu wartość storage.local
będzie zgodna z wartością storage.session
, która została zmieniona w Chrome 112.
Samouczek i pomoc dotyczące nowego komponentu service worker rozszerzenia
Data publikacji:
Service Worker to integralna część rozszerzeń do Chrome. Właśnie opublikowaliśmy samouczek, w którym wyjaśniamy podstawy rejestrowania, debugowania i używania Service Workerów. Dodaliśmy też nowy przewodnik po service workerach, w którym szczegółowo wyjaśniamy ważne pojęcia. W najbliższych miesiącach rozbudujemy tę sekcję.
Więcej wskazówek dotyczących rozwiązywania problemów z naruszeniami zasad w Chrome Web Store
Opublikowano:
Aby ułatwić publikowanie w Chrome Web Store, dodaliśmy nowe wskazówki w 2 obszarach. Wskazówki dotyczące minimalnej funkcjonalności koncentrują się na zapewnianiu użytkownikom korzyści i wzbogacaniu ich doświadczeń związanych z przeglądaniem. Wskazówki dotyczące reklam afiliacyjnych mają na celu informowanie użytkowników o rozszerzeniach korzystających z linków lub kodów afiliacyjnych w celu zarabiania pieniędzy oraz zapewnienie im pewnej kontroli poprzez wymaganie działania użytkownika przed uwzględnieniem tych elementów.
Nowe instrukcje dotyczące konwertera pliku manifestu rozszerzenia
Data opublikowania:
Przeredagowaliśmy plik README konwertera pliku manifestu rozszerzenia, aby ułatwić Ci sprawdzenie, co musisz zrobić po uruchomieniu narzędzia. Konwerter pomaga przenieść rozszerzenia utworzone na platformie Manifest V2 na platformę Manifest V3. Nowy plik README opisuje działanie narzędzia za pomocą słów, które są bardzo podobne do tych z listy kontrolnej w przewodniku po migracji. Konwerter nie wykonuje wszystkich czynności, ale eliminuje wiele zadań, które nie wymagają oceny człowieka.
Chrome 113: nowe powody używania dokumentów poza ekranem
Opublikowano
Dodaliśmy do interfejsu Offscreen Documents API 2 nowe typy przyczyn. Użyj LOCAL_STORAGE
, aby uzyskać dostęp do interfejsu localStorage platformy internetowej. Podczas tworzenia procesów roboczych w internecie używaj WORKER
.
Google Analytics 4 w Panelu dewelopera
Data publikacji:
Panel dewelopera Chrome Web Store obsługuje teraz Google Analytics 4 (GA4). Uprościliśmy konfigurowanie Google Analytics i ułatwiliśmy zarządzanie dostępem w przypadku wydawców grup. Jeśli do śledzenia aktywności w informacjach o sklepie używasz Google Universal Analytics, musisz podjąć działania do 1 lipca 2023 r., aby nadal otrzymywać dane o informacjach o sklepie. Więcej informacji znajdziesz w poście na liście adresowej rozszerzeń do Chrome.
Interfejs File Handling API w ChromeOS
Opublikowano
Interfejs File Handler API jest dostępny do testowania w ChromeOS w wersji Canary 112 i 113. Umożliwia rozszerzeniom w ChromeOS otwieranie plików o określonych typach MIME i rozszerzeniach. Aby wdrożyć obsługę plików, dodaj zestaw reguł do elementu manifest.json
. Ta funkcja działa tak samo jak w przypadku progresywnych aplikacji internetowych. Więcej informacji znajdziesz w artykule w innej części tej witryny.
Aby włączyć obsługę plików:
- Od wersji 112 uruchamiaj Chrome za pomocą flagi
--enable-features=ExtensionWebFileHandlers
. - W wersji 113 wklej
os://flags/#extension-web-file-handlers
do paska adresu Chrome i z menu wybierz „Włączone”.
Mamy nadzieję, że udostępnimy tę funkcję w Chrome 115 pod koniec czerwca. Będziemy tu publikować aktualne informacje.
Nowe przykłady: deklaracje dynamiczne i wstrzykiwanie programowe
Data opublikowania:
Przygotowaliśmy nowy przykład dla interfejsu chrome.scripting
API. Pokazuje dynamiczne deklaracje, w których skrypt treści jest rejestrowany w czasie działania, oraz wstrzykiwanie programowe, w którym skrypt jest wykonywany na już otwartej karcie.
Nowe przykłady: przypadki użycia deklaratywnego żądania sieciowego
Opublikowano:
Dostępne są 3 nowe przykłady, które pokazują działanie interfejsu Declarative Net Request API. Każdy z nich pokazuje wdrożenie jednego przypadku użycia. Pierwszy pokazuje, jak blokować pliki cookie. Pozostałe 2 przykłady pokazują blokowanie adresów URL i przekierowywanie do nich.
Chrome 112: zwiększony limit miejsca na dane sesji
Data publikacji:
Od Chrome 112 limit miejsca na dane w przypadku właściwości storage.session
został zwiększony do około 10 MB. Zostało to uzgodnione w grupie społecznościowej ds. rozszerzeń internetowych: https://github.com/w3c/webextensions/issues/350
Chrome 109: dokumenty poza ekranem
Data publikacji:
Dokumenty poza ekranem są teraz dostępne w rozszerzeniach Manifest V3. Ułatwiają one przejście ze stron w tle na skrypty service worker rozszerzeń, ponieważ obsługują funkcje i interfejsy API związane z DOM. Więcej informacji znajdziesz w poście na blogu.
Chrome 110: czy rozszerzenie jest włączone
Opublikowano
Metoda chrome.action.isEnabled()
programowo sprawdza, czy rozszerzenie zostało włączone na określonej karcie. Dzięki temu nie musisz utrzymywać włączonego stanu kart. Ta nowa metoda przyjmuje identyfikator karty i odwołanie do wywołania zwrotnego oraz zwraca wartość logiczną. Ma ono jedno ograniczenie: karty utworzone za pomocą funkcji chrome.declarativeContent
zawsze zwracają wartość false.
(Przestrzeń nazw chrome.action
ma ostatnio nowe metody kontrolowania wyglądu plakietek rozszerzeń. Więcej informacji znajdziesz w artykule Ustawianie kolorów plakietek).
Chrome 110: zmiana limitu czasu bezczynności w przypadku skryptu service worker
Data publikacji:
Wcześniej proces roboczy usługi rozszerzenia często zamykał się po 5 minutach. Zmieniliśmy to zachowanie, aby bardziej przypominało okres istnienia service workerów w internecie. Proces roboczy usługi rozszerzenia zostanie zamknięty po 30 sekundach bezczynności lub jeśli przetworzenie pojedynczego działania zajmie więcej niż 5 minut. Więcej informacji znajdziesz w artykule Dłuższy czas działania procesów roboczych rozszerzeń.
Post: Wstrzymanie wycofywania platformy Manifest V2
Opublikowano
Harmonogram wycofywania platformy Manifest V2 jest obecnie sprawdzany, a eksperymenty zaplanowane na początek 2023 roku zostaną przełożone. Więcej informacji znajdziesz w aktualizacji na liście mailingowej rozszerzeń do Chrome.
Chrome 110: ustawianie kolorów plakietek
Opublikowano
Przestrzeń nazw chrome.action
ma 2 nowe metody, które zapewniają większą kontrolę nad plakietkami rozszerzeń wyglądu. Metody setBadgeTextColor()
i getBadgeTextColor()
umożliwiają rozszerzeniu zmianę koloru tekstu na plakietce ikony na pasku narzędzi i wysyłanie zapytań o ten kolor. W połączeniu z setBadgeBackgroundColor
i getBadgeBackgroundColor
te nowe metody pozwalają zachować spójność projektu i marki.
Post na blogu: więcej informacji o przejściu na Manifest V3
Opublikowano
Wyjaśniliśmy harmonogram wycofywania platformy Manifest V2. Zaktualizowaliśmy też harmonogram wsparcia Manifest V2, aby uwzględniał on te informacje.
Aktualizacja dokumentacji: znane problemy podczas migracji na Manifest V3
Opublikowano
Przygotowaliśmy listę głównych funkcji, które są obecnie w fazie rozwoju, oraz otwartych zgłoszeń błędów. Naszym celem jest pomóc deweloperom lepiej zrozumieć obecny stan platformy i funkcje, na których mogą się skupić, przygotowując się na przyszłość.
Chrome Web Store: usunięto przesyłanie obrazu „dużego kafelka promocyjnego”
Opublikowano
W Chrome Web Store usunęliśmy interfejs przesyłania „dużego kafelka promocyjnego” z karty Informacje o produkcie w panelu dewelopera. Ta zmiana nie ma wpływu na użytkowników, ponieważ te obrazy nie były używane w interfejsie konsumenckim. Więcej informacji znajdziesz w tym poście na temat rozszerzeń do Chromium.
Chrome 106: zezwalanie stronom z adresami URL typu file:// na dostęp do zasobów dostępnych w internecie
Opublikowano
Nieprzezroczyste źródła, takie jak piaskownice iframe i import dynamiczny, powinny mieć też dostęp do zasobów dostępnych w internecie zgodnie z crbug.com/1219825#c11.
Chrome 106: naprawiono błąd, który powodował, że w przypadku niektórych asynchronicznych funkcji interfejsu API ostatnie argumenty były nieprawidłowe.
Opublikowano
Wcześniej wywołanie asynchronicznych interfejsów API w rozszerzeniu Manifest V3 mogło podać nieprawidłowy argument końcowy, a Chrome nie zgłaszał błędu. Dzięki tej poprawce Chrome będzie teraz prawidłowo zgłaszać błąd i informować, że nie znaleziono pasującego podpisu. Zachęcamy programistów do sprawdzania rozszerzeń w wersji Canary pod kątem błędów, które mogą wystąpić, jeśli przypadkowo użyją nieprawidłowego podpisu wywołania interfejsu API, co spowoduje nieprawidłowe działanie rozszerzenia po wprowadzeniu poprawki.
Post na blogu: zmiany w statystykach Chrome Web Store
Data publikacji:
W Chrome Web Store wprowadziliśmy odświeżone statystyki dotyczące elementów w Panelu dewelopera Chrome Web Store. Nowy panel jest bardziej przejrzysty i zawiera najważniejsze informacje. Więcej informacji znajdziesz w poście na blogu.
Chrome 105: obietnice dotyczące interfejsu Identity API
Opublikowano:
Funkcje w Identity API obsługują teraz wywołania oparte na obietnicach. Wiąże się to z niewielką zmianą w interfejsie identity.getAuthToken()
, w którym asynchroniczny zestaw zwracany ustawiony na wywołanie oparte na obietnicy będzie miał parametry „token” i „grantedScopes” w jednym obiekcie (w przeciwieństwie do wersji wywołania zwrotnego, która otrzymuje je jako oddzielne argumenty wywołania zwrotnego).
Chrome 104: nowy interfejs API ikon ulubionych dla platformy Manifest V3
Opublikowano:
Rozszerzenia platformy Manifest V3 mogą teraz uzyskiwać dostęp do ikon witryn za pomocą nowego wzorca adresu URL: chrome-extension://<id>/_favicon/
, gdzie chrome://favicons
API platformy Manifest V2. Więcej informacji znajdziesz w dokumentacji interfejsu Favicon API.
Aktualizacja dokumentacji: oświadczenie dewelopera o prowadzeniu lub nieprowadzeniu działalności gospodarczej
Opublikowano
Dodaliśmy identyfikację dewelopera jako przedsiębiorcy lub osoby niebędącej przedsiębiorcą, która informuje deweloperów o konieczności dokładnego określenia swojego statusu.
Chrome 103: Wasm na platformie Manifest V3 wymaga wasm-unsafe-eval
Opublikowano:
Chrome nie przyznaje już rozszerzeniom script-src: wasm-unsafe-eval
domyślnie. Rozszerzenia, które korzystają z WebAssembly, muszą teraz wyraźnie dodać tę dyrektywę i wartość do extension_pages
w deklaracjach content_security_policy
.
Chrome 103: zmiany skrótów MV3 są wprowadzane natychmiast
Data publikacji:
Gdy zmienisz skrót klawiszowy rozszerzenia w wersji Manifest V3 na chrome://extensions/shortcuts
, zmiany zostaną zastosowane od razu. Wcześniej, aby zmiana zaczęła obowiązywać, trzeba było ponownie załadować rozszerzenie.
Chrome 102: dynamiczne skrypty dotyczące zawartości w głównym świecie
Opublikowano
Skrypty treści rejestrowane dynamicznie mogą teraz określać kontekst, w którym będą wstrzykiwane komponenty. Więcej informacji znajdziesz w sekcji scripting.registerContentScripts()
.
Chrome 102: nowe pole pliku manifestu „optional_host_permissions”
Data opublikowania:
Rozszerzenia Manifest 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 hostów, tak jak rozszerzenia platformy Manifest V2 mogły to robić za pomocą klucza optional_permissions
.
Chrome 102: właściwość injectImmediately w funkcji scripting.executeScript()
Data opublikowania:
chrome.scripting.executeScript()
akceptuje teraz opcjonalną właściwość injectImmediately
w argumencie injection
. Jeśli ten parametr jest obecny i ma wartość „true”, skrypt zostanie wstrzyknięty do miejsca docelowego tak szybko, jak to możliwe, zamiast czekać na document_idle
. Pamiętaj, że nie gwarantuje to wstrzyknięcia skryptu przed wczytaniem strony, ponieważ strona wczytuje się dalej podczas wywoływania interfejsu API.
Chrome 102: obsługa interfejsu Omnibox API w platformie Manifest V3
Opublikowano
Z interfejsu API Omnibox można teraz korzystać w rozszerzeniach opartych na procesie service worker. Wcześniej niektóre metody tego interfejsu API zgłaszały błędy podczas wywoływania z powodu wewnętrznych zależności od funkcji DOM.
Chrome 102: dozwolone wasm-unsafe-eval w CSP platformy Manifest V3
Opublikowano
Rozszerzenia Manifest V3 mogą teraz zawierać wasm-unsafe-eval
w deklaracjach content_security_policy
. Ta zmiana umożliwia rozszerzeniom platformy Manifest V3 korzystanie z WebAssembly.
Chrome 102: nowy interfejs storage.session API
Opublikowano
Rozszerzenia zgodne z platformą Manifest V3 mogą teraz korzystać z pamięci storage.session .
Aktualizacja dokumentacji: wyszukiwanie elementów w Chrome Web Store
Data publikacji:
Odkrywanie w Chrome Web Store to omówienie tego, jak użytkownicy znajdują produkty w Chrome Web Store i jak nasi redaktorzy wybierają produkty do wyróżnienia.
Chrome 101: ulepszone warunki domeny declarativeNetRequest
Opublikowano
Warunki reguł declarativeNetRequest zostały zaktualizowane, aby umożliwić rozszerzeniom lepsze kierowanie żądań na podstawie domen „request” i „initiator”. Odpowiednie właściwości warunku to initiatorDomains
, excludedInitiatorDomains
, requestDomains
i excludedRequestDomains
. Zobacz też ten wątek dotyczący rozszerzeń do 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 scripting.executeScript()
na nowo utworzonej karcie lub w oknie mogło się nie powieść.
Chrome 100: port wiadomości natywnych utrzymuje działanie service workera
Opublikowano
Połączenie z hostem wiadomości natywnych za pomocą chrome.runtime.connectNative()
w procesie roboczym usługi rozszerzenia powinno utrzymywać proces roboczy usługi przy życiu, dopóki port jest otwarty.
Chrome 100: omnibox.setDefaultSuggestion() obsługuje obietnice i wywołania zwrotne
Opublikowano
Metoda
omnibox.setDefaultSuggestion()
zwraca teraz obietnicę lub akceptuje wywołanie zwrotne, aby umożliwić programistom określenie, kiedy sugestia została prawidłowo ustawiona.
Chrome 100: obsługa i18n.getMessage() w procesach roboczych rozszerzeń
Data publikacji:
Interfejs chrome.i18n.getMessage()
API jest teraz obsługiwany w kontekstach skryptu service worker rozszerzenia.
Chrome 99: match_origin_as_fallback w Canary
Opublikowano:
Skrypty treści mogą teraz określać klucz match_origin_as_fallback
, aby wstrzykiwać go do ramek powiązanych z pasującą ramką, w tym do ramek z adresami URL about:
, data:
, blob:
i filesystem:
. Więcej informacji znajdziesz w dokumentacji skryptów treści.
Chrome 99: obsługa skryptu service worker rozszerzenia w przypadku schematów file: w Chrome Canary
Data publikacji:
Rozszerzenia platformy Manifest V2 i V3 oparte na procesie service worker 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:
nadal wymaga włączenia przez użytkownika opcji „Zezwalaj na dostęp do adresów URL plików” w rozszerzeniu na stronie chrome://extensions
.
Chrome 99: obsługa obietnic w przypadku interfejsów Messaging API w wersji Canary
Data opublikowania:
Dodano obsługę obietnic w przypadku funkcji tabs.sendMessage
, runtime.sendMessage
i runtime.sendNativeMessage
w rozszerzeniach utworzonych na platformie Manifest V3.
Aktualizacja dokumentów: dokumentacja dotycząca weryfikacji w Chrome Web Store
Data publikacji:
Dodaliśmy nową stronę referencyjną, która zawiera omówienie procesu weryfikacji w Chrome Web Store i wyjaśnia, jak egzekwowane są zasady programu dla deweloperów.
Chrome 98: funkcje scripting.executeScript() i scripting.insertCSS() akceptują wiele plików
Opublikowano
Metody executeScript()
i insertCSS()
interfejsu Scripting API akceptują teraz wiele plików. Wcześniej te metody wymagały tablicy z jednym wpisem pliku.
Aktualizacja dokumentów: zmiany w rozwiązywaniu problemów z naruszeniami
Opublikowano
Strona Rozwiązywanie problemów związanych z naruszeniem zasad Chrome Web Store została zaktualizowana, aby zapewnić deweloperom bardziej szczegółowe wskazówki dotyczące typowych przyczyn odrzucenia.
Chrome 96: rozszerzenie obsługi obietnic o 27 kolejnych interfejsów API
Opublikowano:
Ta wersja zawiera znacznie więcej aktualizacji obietnic niż jakakolwiek poprzednia. Aktualizacje obejmują zarówno ogólne interfejsy API rozszerzeń, jak i interfejsy API rozszerzeń specyficzne dla ChromeOS. Szczegółowe informacje znajdziesz w sekcjach poniżej.
Interfejsy API rozszerzeń
Wiele interfejsów API obsługuje teraz obietnice w platformie Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Interfejsy API, które używają 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 chrome.scripting
API obsługuje teraz
rejestrowanie,
aktualizowanie,
wyrejestrowywanie i pobieranie listy skryptów treści
w czasie działania. Wcześniej skrypty treści można było deklarować statycznie tylko w pliku manifest.json rozszerzenia lub wstrzykiwać programowo w czasie działania za pomocą funkcji chrome.scripting.executeScript()
.
Aktualizacja dokumentów: harmonogram wsparcia Manifest V2
Opublikowano
Harmonogram przejścia z Manifest V2 na Manifest V3 został ogłoszony w tym poście na blogu. Opublikowaliśmy też bardziej szczegółową stronę z harmonogramem.
Chrome 96: uprawnienie declarativeNetRequestWithHostAccess
Opublikowano:
Nowe uprawnienie declarativeNetRequestWithHostAccess
umożliwia rozszerzeniom korzystanie z interfejsu chrome.declarativeNetRequest
API w witrynach, do których rozszerzenie ma uprawnienia hosta. Umożliwia to też migrację istniejących rozszerzeń platformy Manifest V2, które korzystają z uprawnień webRequest
, webRequestBlocking
i uprawnień hosta dla konkretnej witryny, do interfejsu chrome.declarativeNetRequest
API bez konieczności zatwierdzania przez użytkownika nowych uprawnień.
Chrome 95: wstrzykiwanie skryptów bezpośrednio na strony
Opublikowano:
Metoda chrome.scripting
interfejsu API executeScript()
może teraz wstrzykiwać skrypty bezpośrednio do głównego środowiska strony. Wcześniej rozszerzenia mogły wstrzykiwać kod bezpośrednio do odizolowanego świata rozszerzenia. Więcej informacji o izolowanych światach znajdziesz w dokumentacji dotyczącej skryptów treści.
Chrome 95: obsługa obietnic w interfejsie Storage API
Data publikacji:
Metody w wersji interfejsu API chrome.storage
Manifest V3 zwracają teraz obietnice.
Aktualizacja zasad: wymuszanie weryfikacji dwuetapowej
Opublikowano
Post na blogu dotyczący aktualizacji zasad opublikowany 29 czerwca 2021 r. został zaktualizowany, aby poprawić harmonogram wdrażania weryfikacji dwuetapowej.
Chrome 94: zmiany w statycznym zestawie reguł declarativeNetRequest
Opublikowano
chrome.declarativeNetRequest
obsługuje teraz określanie maksymalnie 50 statycznych zestawów reguł (MAX_NUMBER_OF_STATIC_RULESETS) i włączanie maksymalnie 10 zestawów reguł (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) jednocześnie.
Chrome 93: obsługa izolowania zasobów z innych domen
Opublikowano
Zarówno rozszerzenia Manifest V2, jak i Manifest V3 mogą teraz włączyć izolację z różnych źródeł. Ta funkcja ogranicza liczbę zasobów z innych domen, które mogą wczytywać strony rozszerzenia, i umożliwia korzystanie z funkcji platformy internetowej niskiego poziomu, takich jak SharedArrayBuffer
. Od Chrome 95 wymagana będzie zgoda użytkownika.
Aktualizacja zasad: zaktualizowane zasady programu dla deweloperów
Opublikowano:
Zaktualizowaliśmy zasady programu dla deweloperów Chrome Web Store, doprecyzowując zasady dotyczące wprowadzających w błąd taktyk instalacji, spamu i powielania treści. Ta aktualizacja obejmuje też nowy wymóg weryfikacji dwuetapowej, który jest niezbędny do publikowania w Chrome Web Store. Więcej informacji znajdziesz w poście na blogu.
Post na blogu: działania rozszerzeń na platformie Manifest V3
Opublikowano
Rozszerzenia Chrome od lat miały interfejsy API chrome.browserAction
i chrome.pageActions
, ale Manifest V3 zastąpił je ogólnym interfejsem chrome.actions
API. W tym artykule opisujemy historię tych interfejsów API i zmiany, które zaszły w Manifeście V3. Przeczytaj post
Post na blogu: przedstawiamy chrome.scripting
Opublikowano:
Interfejs chrome.scripting
API to nowy interfejs API Manifestu V3, który koncentruje się na skryptach. W tym poście przyjrzymy się bliżej motywacjom tej zmiany i jej nowym możliwościom. Przeczytaj post
Chrome 92: obsługa modułowych service workerów
Data publikacji:
Chrome obsługuje teraz moduły JavaScript w usługach Service Worker. Aby określić moduł w pliku manifestu:
"background": {
"service_worker": "script.js",
"type": "module"
}
Spowoduje to wczytanie skryptu instancji roboczej jako modułu ES, co umożliwi użycie słowa kluczowego import
w skrypcie instancji roboczej do importowania innych modułów.
Chrome 91: chrome.action.getUserSettings()
Data publikacji:
Nowa metoda
chrome.action.getUserSettings()
umożliwia rozszerzeniom sprawdzenie, czy użytkownik przypiął rozszerzenie do głównego paska narzędzi.
Chrome 90: chrome.scripting.removeCSS()
Opublikowano
Nowa metoda chrome.scripting.removeCSS()
umożliwia rozszerzeniom usuwanie kodu CSS, który został wcześniej wstawiony za pomocą metody chrome.scripting.insertCSS()
. Zastępuje chrome.tabs.removeCSS()
.
Chrome 90: zwracanie obietnic z funkcji scripting.executeScript()
Opublikowano
Funkcja chrome.scripting.executeScript()
obsługuje teraz zwracanie obietnic. Jeśli wynik wykonania skryptu jest obietnicą, Chrome
zaczeka na jej rozstrzygnięcie i zwróci wynikową wartość.
Chrome 90: wyniki chrome.scripting.executeScript() zawierają frameId
Opublikowano
Wyniki zwracane z chrome.scripting.executeScript()
zawierają teraz frameId.
Właściwość frameId
wskazuje ramkę, z której pochodzi wynik, co ułatwia rozszerzeniom przypisywanie wyników do poszczególnych ramek podczas wstawiania ich w wielu ramkach.
Chrome 89: nowy interfejs API do zarządzania grupami kart
Opublikowano
Nowy interfejs chrome.tabGroups
API i nowe funkcje w chrome.tabs
umożliwiają rozszerzeniom odczytywanie grup kart i manipulowanie nimi.
Wymaga platformy Manifest V3.
Chrome 89: konfigurowalne uprawnienia do zasobów dostępnych w internecie
Opublikowano
Definicje zasobów dostępnych w internecie w platformie Manifest V3 zostały zmienione, aby umożliwić rozszerzeniom ograniczanie dostępu do zasobów na podstawie pochodzenia żądającego lub identyfikatora rozszerzenia.
Post na blogu: Extension Manifest Converter
Data publikacji:
Zespół Chrome Extensions udostępnił narzędzie „Extension Manifest Converter” w formie open source. Jest to narzędzie w języku Python, które automatyzuje niektóre mechaniczne aspekty przekształcania rozszerzeń na Manifest V3. Zapoznaj się z postem na blogu z ogłoszeniem i pobierz go z GitHuba.
Chrome 88: ogólna dostępność platformy Manifest V3
Data opublikowania:
Manifest V3 to ważna aktualizacja platformy rozszerzeń. Podsumowanie nowych i zmienionych funkcji znajdziesz w tym artykule. Rozszerzenia mogą na razie nadal używać Manifestu V2, ale w najbliższej przyszłości zostanie on wycofany. Zdecydowanie zalecamy używanie Manifestu V3 w przypadku wszystkich nowych rozszerzeń i jak najszybsze rozpoczęcie migracji dotychczasowych rozszerzeń do Manifestu V3.