Chrome 120 jest już dostępny w wersji beta i zawiera wiele ciekawych aktualizacji dla deweloperów rozszerzeń do Chrome.
Zespół rozszerzeń do Chrome miał pracowity rok. Wczorajsza wersja beta Chrome 120 to kolejny duży krok naprzód w rozwoju platformy rozszerzeń. Aby dowiedzieć się, co wydarzyło się w tym roku, zapoznaj się z naszymi kwartalnymi aktualizacjami z lipca i października. Poniżej znajdziesz informacje o nowościach w Chrome 120 dotyczących rozszerzeń.
Wypełnianie luki między platformami
Wraz z premierą Chrome 120 usuniemy pozostałe luki w platformie wymienione na naszej stronie ze znanymi problemami z Manifestem V3. Nowy interfejs userScript API oraz obsługa obsługi plików w ChromeOS to 2 ostatnie elementy 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ń do Chrome i z tego, co udało nam się osiągnąć w ciągu ostatniego roku.
Nowy interfejs API userScripts
Obsługa skryptów użytkownika jest już dostępna! Skrypty użytkownika to (zwykle stosunkowo małe) fragmenty kodu, które rozszerzenia mogą wstrzykiwać na strony internetowe, aby modyfikować ich wygląd lub zachowanie. Można je tworzyć bezpośrednio przez użytkownika lub znajdować w różnych repozytoriach skryptów użytkownika w internecie. Od Chrome 120 rozszerzenia platformy Manifest V3 mogą zarządzać kolekcją skryptów użytkownika i określać, kiedy i jak wstrzykiwać je na stronach internetowych.
Istnieje jedna istotna różnica między obsługą skryptów użytkownika w przypadku platform Manifest V2 i Manifest V3. Skrypty użytkownika są zaawansowane i wymagają dużego zaufania do ich autora, dlatego zespół Chrome zdecydował, że użytkownicy muszą włączyć tryb programisty, zanim będą mogli uruchomić skrypt użytkownika.
Nasz nowy przykładowy skrypt użytkownika pokazuje prosty sposób wykrywania, czy tryb deweloperski jest włączony, oraz zapewnia prosty proces wprowadzający.
Aby rozpocząć, zapoznaj się z dokumentacją lub oficjalnym przykładem.
Wyższe limity statycznych reguł DNR
Znacznie zwiększyliśmy limit włączonych statycznych zestawów reguł – z 10 do 50. Zwiększyliśmy też łączną liczbę dozwolonych statycznych zestawów reguł z 50 do 100. Jest to odpowiedź na opinie, które otrzymaliśmy w grupie społecznościowej ds. rozszerzeń internetowych.
Nowy interfejs ReadingList API
Lista Do przeczytania została wprowadzona w Chrome w 2021 r. W zeszłym roku zespół Chrome jeszcze bardziej ułatwił dostęp do listy Do przeczytania za pomocą panelu bocznego. W Chrome 120 dodajemy możliwość tworzenia, odczytywania, aktualizowania i usuwania wpisów na liście Do przeczytania przez rozszerzenia do Chrome. Więcej informacji znajdziesz w dokumentacji interfejsu API i w naszym nowym przykładzie.
Obsługa plików w ChromeOS
Interfejs File Handling API umożliwia otwieranie plików o określonych typach MIME i rozszerzeniach w podobny sposób jak w przypadku platformy internetowej. Więcej informacji o tym, jak korzystać z tej funkcji, znajdziesz w artykule Obsługa plików w ChromeOS.
Włącz alarm za 30 sekund
To niewielka aktualizacja, ale rozwiązuje ważny problem w cyklu życia service workera. Ze względu na to, że skrypty service worker są oparte na zdarzeniach, zalecanym sposobem wywoływania zdarzenia w przyszłości jest użycie metody chrome.alarms. Interfejs Alarms API zapewnia wywołanie zdarzenia nawet wtedy, gdy skrypt service worker zostanie w międzyczasie zamknięty.
Jest jednak pewien haczyk. W wersjach Chrome wcześniejszych niż 120 najkrótszy czas, po którym włączał się alarm, wynosił minutę. Procesy service worker są jednak wyłączane po 30 sekundach braku aktywności. Nie było więc prostego sposobu na zaplanowanie alarmu, który miałby się włączyć za 45 sekund, ponieważ w przypadku użycia funkcji setTimeout() do ustawienia zdarzenia za 45 sekund proces roboczy usługi mógłby zostać zamknięty przed uruchomieniem zdarzenia.
Od Chrome 120 możesz wywołać zdarzenie w tych miejscach:
- mniej niż 30 sekund przy użyciu
setTimeout(). - wszystko, co trwa co najmniej 30 sekund, przy użyciu
chrome.alarms:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
Podsumowanie
Bardzo nas cieszy postęp, jaki w ciągu ostatniego roku osiągnęła platforma rozszerzeń. Chrome 120 to kolejny duży krok w kierunku zwiększenia limitów DNR i obsługi skryptów użytkownika.