Nowości w Chrome 120 dotyczące rozszerzeń

Chrome w wersji 120 jest już dostępna w wersji beta i zawiera wiele ekscytujących nowości dla deweloperów rozszerzeń do Chrome.

Zespół rozszerzeń do Chrome miał bardzo pracowity rok. Wczorajsze wydanie Chrome 120 w wersji beta to kolejny duży krok naprzód w przypadku platformy rozszerzeń. Informacje o tym, co działo się w tym roku, znajdziesz w naszych kwartalnych raportach z lipcapaździernika. Czytaj dalej, aby dowiedzieć się, co nowego w Chrome 120 w przypadku rozszerzeń.

Wypełnianie luki w przypadku platform

Wraz z wydaniem Chrome 120 zamkniemy pozostałe luki w funkcjonalności na platformach wymienionych na stronie znanych problemów z Manifestem V3. Nowy interfejs userScript API oraz obsługa obsługi plików w ChromeOS to 2 pozostałe pozycje na liście, które możemy teraz odhaczyć. Wraz ze zmianami opisanymi w poprzedniej aktualizacji kwartalnej jesteśmy bardzo zadowoleni z obecnego stanu platformy rozszerzeń Chrome i z tego, co udało nam się osiągnąć w ciągu ostatniego roku.

Nowy interfejs userScripts API

Dodaliśmy obsługę skryptów użytkownika. Skrypty użytkownika to (zwykle stosunkowo małe) fragmenty kodu, które rozszerzenia mogą wstrzykiwać do stron internetowych, aby zmodyfikować ich wygląd lub zachowanie. Mogą być tworzone bezpośrednio przez użytkownika lub znajdowane w różnych repozytoriach skryptów w internecie. Od wersji 120 Chrome rozszerzenia platformy Manifest V3 mogą zarządzać kolekcją skryptów użytkownika i określać, kiedy i jak mają być one wstawiane na stronach internetowych.

Istnieje jedna istotna różnica między obsługą skryptów użytkownika w Manifest V2 i Manifest V3. Skrypty użytkownika są potężne i wymagają dużego zaufania do autora, dlatego zespół Chrome zdecydował, że użytkownicy muszą włączyć tryb programisty, zanim będą mogli uruchomić skrypt użytkownika.

na stronie Rozszerzenia,
Strona „Rozszerzenia” (chrome://extensions)

Nasz nowy przykładowy skrypt userScript demonstruje proste podejście do wykrywania, czy tryb programisty jest włączony, oraz prezentuje prosty proces wdrażania.

Przykładowy proces wprowadzania użytkownika w przypadku skryptów użytkownika
Zarejestruj użytkowników, gdy tryb programisty jest wyłączony.

Aby rozpocząć, zapoznaj się z dokumentacją lub oficjalnym przykładem.

Wyższe limity statycznych reguł DNR

Zwiększyliśmy limit włączonych statycznych zestawów reguł z 10 do 50. Dodatkowo zwiększyliśmy łączną liczbę dozwolonych statycznych zestawów reguł z 50 do 100. To odpowiedź na opinie otrzymane w ramach grupy dotyczącej rozszerzeń internetowych.

Nowy interfejs ReadingList API

Lista Do przeczytania została wprowadzona w Chrome w 2021 r. W zeszłym roku zespół Chrome ułatwił dostęp do listy Do przeczytania, dodając ją do panelu bocznego. W wersji 120 Chrome dodajemy możliwość tworzenia, odczytywania, aktualizowania i usuwania wpisów na liście Do przeczytania w rozszerzeniach Chrome. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją interfejsu API i naszą nową próbką.

Lista Do przeczytania w Chrome z widocznymi stronami dokumentów rozszerzenia.
Panel boczny listy Do przeczytania w Chrome.

Obsługa plików w ChromeOS

Obsługa plików umożliwia rozszerzeniom otwieranie plików o określonych typach MIME i rozszerzeniach w sposób podobny do obsługi plików na platformach internetowych. Więcej informacji o tym, jak korzystać z tej funkcji, znajdziesz w artykule Zarządzanie plikami w ChromeOS.

Zrzut ekranu przedstawiający otwarty plik z oknem rozszerzenia w ChromeOS
Otwieranie plików w rozszerzeniu na ChromeOS.

Wywołanie alarmu w ciągu 30 sekund

To niewielka aktualizacja, ale rozwiązuje ważną lukę w cyklu życia usługi. Ze względu na charakter skryptów service worker, zalecany sposób wywołania zdarzenia w przyszłości to użycie funkcji chrome.alarms. Interfejs Alarms API zapewnia, że zdarzenie zostanie wywołane nawet wtedy, gdy skrypt usługi zostanie w międzyczasie zamknięty.

Jest jednak pewien haczyk. W wersji Chrome 120 najkrótszy czas do uruchomienia alarmu wynosił 1 minutę. Jednak procesy robocze usługi są wyłączane po 30 sekundach braku aktywności. Nie było więc prostego sposobu na zaplanowanie alarmu na 45 sekund, ponieważ przy użyciu funkcji setTimeout() do ustawienia zdarzenia na 45 sekund usługa workera mogła zostać zamknięta przed uruchomieniem zdarzenia.

Począwszy od wersji 120 Chrome możesz wywołać zdarzenie w ramach:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Podsumowanie

Jesteśmy bardzo zadowoleni z postępów, jakie platforma rozszerzeń poczyniła w ciągu ostatniego roku. Chrome 120 to kolejny ważny krok w kierunku zwiększenia limitów DNR i obsługi skryptów użytkownika.