Co się dzieje w rozszerzeniach do Chrome?

W lipcu ubiegłego roku uruchomiliśmy nową serię wpisów na blogu, aby na bieżąco informować Cię o postępach w rozwoju rozszerzeń. Dzięki Waszym cennym opiniom i ciągłej współpracy z innymi dostawcami przeglądarek w ramach grupy roboczej WebExtensions Community Group stale ulepszamy interfejsy API rozszerzeń i pracujemy nad zwiększeniem spójności między przeglądarkami.

Witamy w październikowym wydaniu newslettera W tym poście przyjrzymy się niektórym zmianom wprowadzonym przez zespół ds. rozszerzeń Chrome w ostatnich miesiącach, a także nowym funkcjom, które pojawią się w tym roku. Zaczynajmy!

Nowe interfejsy API i funkcje rozszerzeń

W tej sekcji przedstawiamy ważne nowe interfejsy API, omawiamy inne ulepszenia interfejsów API i informujemy o planowanych wersjach. Wszystkie uruchomienia są obecnie dostępne w najnowszej wersji beta. Szczegółowe informacje znajdziesz w harmonogramie publikacji Chromium.

Najciekawsze

Znane problemy, które zostały rozwiązane

Zespół ds. rozszerzeń aktywnie pracuje nad rozwiązaniem problemów ze stabilnością Manifestu V3. W Chrome 116 wprowadzono wiele ulepszeń, które pomogły nam znacznie zmniejszyć różnice między platformami Manifest V2 i V3. W Chrome 120 zakończymy rozwiązywanie wszystkich priorytetowych problemów z platformą i wyeliminujemy wszystkie krytyczne błędy, które są opisane na stronie ze znanymi problemami. Wszystkie funkcje są obecnie dostępne w Chrome 120 Canary, z wyjątkiem obsługi interfejsu fileHandler w przypadku Lacros w ChromeOS oraz interfejsu userScripts API, które zostaną udostępnione w tym miesiącu. Więcej informacji znajdziesz na stronie ze znanymi problemami.

Ulepszona stabilność Service Worker

Rozwiązano problemy ze stabilnością powiązane z usługami w tle. W Chrome 116 dodaliśmy do interfejsów API rozszerzeń silne mechanizmy utrzymywania połączenia, które wyświetlają użytkownikowi prompt, oraz ulepszoną obsługę WebSockets (patrz samouczek Używanie WebSockets w rozszerzeniach). Począwszy od wersji 118 Chrome skrypt service worker będzie aktywny podczas aktywnej sesji interfejsu Debugowanie API.

Więcej informacji znajdziesz w zaktualizowanym przewodniku dotyczącym Service Workera. Jeśli po wersji 119 Twoi użytkownicy nadal mają problemy ze stabilnością związane z usługami wtyczki, daj nam znać.

Zwiększone bezpieczeństwo

Wcześniej przejście do niektórych adresów URL chrome:// za pomocą tabs.update(), tabs.create i windows.create() powodowało błąd lub powodowało awarię Chrome. Ponadto tabs.update() nie może otworzyć adresu URL JavaScriptu. W Chrome 117 zwiększyliśmy liczbę obsługiwanych adresów URL chrome://, a blokowanie adresów URL w JavaScript dotyczy teraz wszystkich metod interfejsu API rozszerzeń.

W Chrome 117 użytkownicy będą otrzymywać na stronie rozszerzeń Chrome proaktywne powiadomienia, jeśli zainstalowane przez nich rozszerzenie nie jest już dostępne w Chrome Web Store. Może się tak zdarzyć, jeśli deweloper wycofa rozszerzenie, zostanie ono usunięte z powodu naruszenia zasad lub zostanie zidentyfikowane jako złośliwe oprogramowanie. Więcej informacji znajdziesz w artykule Wprowadzanie kontroli zabezpieczeń na stronie chrome://extensions.

W Chrome 118 rozszerzenia nie będą mogły przechodzić do adresów URL file:// za pomocą interfejsów API chrome.tabschrome.windows, chyba że na stronie z informacjami o rozszerzeniu włączysz opcję „Zezwalaj na dostęp do adresów URL plików”. Zobacz dyskusję na temat WECG.

Więcej informacji o wprowadzaniu interfejsów API

  • Interfejs Runtime API: od wersji Chrome 116 możesz używać interfejsu runtime.getContexts() do pobierania informacji o aktywnych kontekstach. Możesz na przykład sprawdzić, czy jest aktywny dokument poza ekranem.
  • Interfejs API panelu bocznego W Chrome 116 możesz użyć sidepanel.open(), aby otworzyć panel boczny rozszerzenia w odpowiedzi na działanie użytkownika, takie jak kliknięcie menu kontekstowego.
  • Interfejs TabCapture API Dodano możliwość wywołania getMediaStreamId() z poziomu skryptu service worker rozszerzenia i uzyskania obiektu MediaStream z identyfikatora strumienia w pozaekranowym dokumencie w Chrome 116. Przykłady znajdziesz w artykule Nagrywanie dźwięku i zrzuty ekranu.
  • Interfejs DeclarativeNetRequest API: w wersji Chrome 118 wartość domyślna właściwości isUrlFilterCaseSensitive została zmieniona na false.

Już wkrótce...

Planujemy rozwiązać wszystkie pozostałe problemy na stronie znanych problemów w ramach wydania Chrome 120. Dodatkowo planujemy wprowadzić te funkcje:

  • Interfejs UserScripts API pozwoli administratorom skryptów użytkownika koordynować, jak i kiedy wstrzykiwać kolekcję skryptów użytkownika na stronach internetowych. Szczegółowe informacje znajdziesz w propozycji WECG.
  • Interfejs ReadingList API pozwoli deweloperom tworzyć, odczytywać, aktualizować i usuwać metadane znajdujące się w panelu Do czytania w panelu bocznym. Aby dowiedzieć się więcej, obejrzyj film Nowości w rozszerzeniach Chrome.
  • W odpowiedzi na opinie z grupy społecznościowej Web Extensions znacznie zwiększamy 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 wersji Canary.
  • Interfejs API do obsługi plików: będzie dostępny dla rozszerzeń ChromeOS od wersji 120. Dzięki niemu rozszerzenia będą mogły otwierać pliki o określonych typach MIME i rozszerzeniach w sposób podobny do obsługi plików na platformie internetowej.
  • Rozszerzenia będą mogły korzystać z interfejsu Push API w internecie przez self.registration.pushManager.subscribe() bez wyświetlania użytkownikowi powiadomienia, jeśli ustawienie userVisibleOnly będzie równe false. Dzięki temu powiadomienia push staną się bardziej płynną alternatywą dla WebSockets w usługach skryptów (MV3) w przypadku komunikacji asynchronicznej między klientem a serwerem. Więcej informacji znajdziesz w błędzie Chromium i dyskusji WECG.

Aby dowiedzieć się, kiedy te funkcje będą dostępne w Chrome Beta, sprawdzaj stronę Co nowego w rozszerzeniach.

Aktualizacje dokumentacji

Poprawiliśmy też naszą dokumentację i dodaliśmy do niej nowe informacje. Nadal możesz zadawać pytania na chromium-groupzgłaszać problemy z dokumentacją.

Najciekawsze

Więcej nowych informacji

Już wkrótce...

  • Dokumentacja i samouczek interfejsu API Skrypty użytkownika.
  • Przykłady i samouczek Firebase.
  • Dokumentacja interfejsu ReadingList API

Nowy wygląd Chrome Web Store 🌈

Zrzut ekranu strony głównej Chrome Web Store.
Nowa strona główna Chrome Web Store

Wcześniej w tym miesiącu, zgodnie z zapowiadaną na konferencji Google I/O wstępną wersją sklepu Chrome Web Store, Sprawdź to na własnej skórze: https://chromewebstore.google.com/. Oto kilka istotnych zmian:

  • Lista kategorii została rozszerzona z 11 do 17 kategorii w 3 grupach.
  • Ulepszone autouzupełnianie w wyszukiwarce.
  • Zrzuty ekranu są teraz wyświetlane w znacznie lepszej jakości. Możesz przesłać zrzuty ekranu w rozdzielczości 1280 x 800.
  • Odpowiedzi na pytania na karcie Pomoc są teraz wyświetlane z wierszami.
  • Odpowiedzi na opinie użytkowników i pytania do zespołu pomocy będą teraz zawierać plakietkę „Deweloper” obok Twojego imienia i nazwiska.
  • Możesz udostępnić użytkownikom bezpośredni link do strony z opiniami, dodając „/reviews” na końcu adresu URL produktu w Sklepie. Przykład: https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews.

Dziękujemy wszystkim za dotychczasowe opinie w grupie Chromium-Google. Dołącz do dyskusji lub prześlij opinię bezpośrednio do zespołu CWS, korzystając z elementu menu Prześlij opinię:

Przesyłanie opinii na stronie Chrome Web Store
Przesyłanie opinii na stronie Chrome Web Store

Dodatkowo możesz przesłać formularz samonominacji, aby Twoja aplikacja znalazła się w kolekcji Wybrane przez redaktorów. Wkrótce wprowadzimy też ulepszenia w panelu dewelopera.

💡 Czy wiesz, że…

  • Mamy nowy film na temat debugowania rozszerzeń Chrome. Znajdziesz w nim wiele informacji, które być może już znasz, ale znajdziesz też kilka przydatnych sztuczek dotyczących korzystania z Narzędzi deweloperskich w rozszerzeniach.
  • Musisz teraz podać politykę prywatności dla każdego rozszerzenia. Wcześniej można było dodać tylko jedną politykę prywatności na konto dewelopera, ale było to niewygodne, jeśli na jednym koncie dewelopera było kilka rozszerzeń. Ten nowy interfejs jest dostępny na karcie Prywatność w panelu dewelopera. Oznacza to, że polityki prywatności na poziomie konta nie są już obsługiwane.
    Zrzut ekranu z okienka polityki prywatności
    Zrzut ekranu z okienka polityki prywatności

Kontaktuję się z Tobą,

Nadal kontaktujemy się z twórcami rozszerzeń, organizując spotkania indywidualne, wprowadzając nowe programy i biorąc udział w konferencjach. Oto kilka najważniejszych kwestii:

  • W sierpniu uruchomiliśmy program Google Developer Experts dla ekspertów ds. rozszerzeń. Mamy ponad tuzinę nowych GDE dotyczących rozszerzeń Chrome z całego świata, które dostarczają nam cennych informacji. To bardzo ekscytujący czas dla programu.
  • W ramach grupy społeczności rozszerzeń internetowych wzięliśmy udział w konferencji TPAC (dorocznej konferencji W3C) i spotkaliśmy się z przedstawicielami przeglądarek Firefox i Safari oraz kilkoma członkami społeczności. Zrobiliśmy duże postępy w kilku obszarach, m.in. w kierunku bardziej spójnych interfejsów API rozszerzeń, prac nad specyfikacją i tworzenia nowego zestawu testów na podstawie testów platformy internetowej. Zapoznaj się z pełnymi protokołami w repozytorium WECG.
  • W zeszłym tygodniu zespół ds. rozszerzeń wziął udział w konferencji Ad-Filtering Dev Summit w Amsterdamie. Spotkał się z kilkoma z Was podczas spotkania przy kawie, które odbyło się przed tygodniem szczytu i otwartych drzwi w piątek.
    Zespół ds. rozszerzeń na szczycie poświęconym filtrom reklam
    Zespół ds. rozszerzeń na spotkaniu programistów dotyczącym filtrowania reklam

Nawet jeśli nie udało Ci się wziąć udziału w żadnym z tych wydarzeń, możesz nadal brać udział w dyskusjach, zadawać pytania w grupie Google chromium-extensions, śledzić rozmowy partnerów przeglądarek w forum WECG i zgłaszać problemy z dokumentacją.

Jeszcze raz dziękujemy za udział w społeczności deweloperów rozszerzeń.