Nowości w Chrome 120 dotyczące rozszerzeń

Przeglądarka Chrome 120 jest teraz dostępna w wersji beta i zawiera wiele ciekawych aktualizacji dla deweloperów rozszerzeń do Chrome.

W tym roku zespół ds. rozszerzeń do Chrome był bardzo pracowity. Po wczorajszej wersji beta Chrome 120 platforma rozszerzeń robi kolejny wielki krok naprzód. Aby dowiedzieć się, co działo się w tym roku, zapoznaj się z naszymi kwartalnymi aktualizacjami dotyczącymi lipca i października. W dalszej części artykułu znajdziesz informacje o nowościach w Chrome 120 dotyczących rozszerzeń.

Wypełnianie luki w platformie

Wraz z wydaniem Chrome 120 zamkniemy pozostałe luki na platformie, które zostały wymienione na stronie ze znanymi problemami w wersji 3 na platformie Manifest V3. 2 pozostałe pozycje na liście, które możemy teraz wykreślić, to nowy interfejs UserScript API i obsługa plików w ChromeOS. Razem ze zmianami opisanymi w poprzedniej aktualizacji kwartalnej jesteśmy bardzo zadowoleni z bieżącego stanu platformy rozszerzeń do Chrome i osiągniętych przez nas w ciągu ubiegłego roku.

Nowy interfejs UserScripts API

Zakończyliśmy obsługę skryptów użytkownika Skrypty użytkownika to (zwykle stosunkowo małe) fragmenty kodu, które rozszerzenia mogą wstawiać na stronach internetowych, aby zmienić ich wygląd lub działanie. Mogą być tworzone bezpośrednio przez użytkownika lub znajdować się w wielu różnych repozytoriach skryptów użytkownika w internecie. Od wersji Chrome 120 rozszerzenia Manifest V3 mogą teraz zarządzać zbiorem skryptów użytkownika i określać, kiedy i jak je wstawić na stronach internetowych.

Występuje jedna istotna różnica między obsługą skryptów użytkownika w platformach Manifest V2 i Manifest V3. Ponieważ skrypty użytkownika są bardzo zaawansowane i wymagają dużego zaufania do autora skryptu użytkownika, zespół Chrome zdecydował, że przed uruchomieniem skryptu użytkownik musi włączyć tryb programisty.

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

Nasz nowy przykład UserScript pokazuje w prosty sposób, jak wykryć, czy tryb programisty jest włączony, i zadbać o to, aby proces wdrożenia był prosty.

Przykładowy proces wdrażania skryptów użytkownika.
Wprowadź użytkowników, gdy tryb programisty jest wyłączony.

Na początek zapoznaj się z dokumentacją lub obejrzyj oficjalny przykład.

Wyższe limity zestawu reguł statycznych DNR

Znacznie 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. Otrzymujesz tę wiadomość w odpowiedzi na opinie, które otrzymaliśmy od grupy Społeczności rozszerzeń internetowych.

Nowy interfejs API ReadingList

W Chrome w 2021 roku wprowadziliśmy listę Do przeczytania. W zeszłym roku zespół Chrome jeszcze bardziej ułatwił dostęp do listy Do przeczytania za pomocą panelu bocznego. W Chrome 120 dodaliśmy możliwość tworzenia, odczytywania, aktualizowania i usuwania pozycji na liście Do przeczytania. Aby dowiedzieć się więcej, zapoznaj się z dokumentacją interfejsu API i nowym przykładem.

Lista Do przeczytania w Chrome pokazująca strony dokumentów rozszerzeń.
Panel boczny listy Do przeczytania w Chrome.

Obsługa plików w ChromeOS

Pozwala ona rozszerzeniom otwierać pliki o określonych typach MIME i rozszerzeniach w sposób podobny do obsługi plików na platformach internetowych. Więcej informacji o obsłudze plików w ChromeOS znajdziesz w artykule.

Zrzut ekranu z oknem otwierania pliku z rozszerzeniem w ChromeOS
Otwieraj pliki w rozszerzeniu w ChromeOS.

Uruchom alarm za 30 sekund

To niewielka aktualizacja, ale rozwiązuje ważną lukę w cyklu życia mechanizmu Service Worker. Ze względu na to, że mechanizmy Service Worker zależą od zdarzeń, zalecanym sposobem uruchamiania zdarzenia w przyszłości jest użycie chrome.alarms. Interfejs Alarms API zapewnia wywoływanie zdarzenia nawet wtedy, gdy mechanizm Service Worker zostanie w międzyczasie wyłączony.

Jest jednak pewien haczyk. W wersjach Chrome 120 najkrótszy czas uruchomienia alarmu to jedna minuta. Skrypty service worker są jednak wyłączane po 30 sekundach braku aktywności. Nie można było więc zaplanować uruchomienia alarmu na 45 sekund, ponieważ jeśli za pomocą setTimeout() ustawiasz zdarzenie w 45 sekund, skrypt service worker mógł zostać wyłączony przed uruchomieniem zdarzenia.

W Chrome 120 możesz teraz uruchamiać zdarzenia w tych językach:

  • mniej niż 30 sekund za pomocą narzędzia setTimeout().
  • dowolne treści dłuższe niż lub równe 30 sekund z użyciem metody chrome.alarms:
await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Podsumowanie

Jesteśmy pod wrażeniem postępów, jakie poczyniła w ciągu ostatniego roku platforma oferująca rozszerzenia. Chrome 120 to kolejny duży krok w zakresie zwiększania limitów DNR i obsługi skryptów użytkownika.