W lipcu uruchomiliśmy nową serię blogów, dzięki którym będziesz na bieżąco z rozwojem rozszerzeń. Dzięki Waszym cennym opiniom i stałej współpracy z innymi dostawcami przeglądarek z grupy WebExtensions Community Group cały czas udoskonalamy interfejsy API rozszerzeń i pracujemy nad zwiększeniem spójności przeglądarek.
Witamy w wydaniu październikowym. W tym poście omówimy niektóre zmiany wprowadzone przez zespół rozszerzeń do Chrome w ciągu ostatnich kilku miesięcy, a także nowe funkcje, które wprowadzimy jeszcze w tym roku. Zaczynajmy!
Nowe interfejsy API i funkcje rozszerzeń
W tej sekcji przedstawiamy kilka ważnych funkcji interfejsu API, krótko omawiamy inne ulepszenia interfejsu API i przedstawiamy nadchodzące wersje. Wszystkie aktualizacje są obecnie dostępne w najnowszej wersji beta. Szczegółowe informacje znajdziesz w harmonogramie publikacji Chromium.
W skrócie
Rozwiązano znane problemy
Zespół ds. rozszerzeń aktywnie pracuje nad rozwiązaniem problemów ze stabilnością platformy Manifest V3. W Chrome 116 wprowadziliśmy wiele ulepszeń, które pomogły nam wypełnić lukę między Manifest V2 a 3. W Chrome 120 zakończyliśmy rozwiązywanie wszystkich priorytetowych luk w platformach i zamknęliśmy wszystkie krytyczne błędy wymienione na stronie ze znanymi problemami. Wszystkie funkcje są obecnie dostępne w Chrome 120 w wersji Canary. Wyjątkiem jest obsługa FileHandler w ChromeOS w przypadku Lacros i interfejs userScripts API, który pojawi się pod koniec tego miesiąca. Więcej informacji znajdziesz na zaktualizowanej stronie znanych problemów.
Zwiększona stabilność skryptu Service Worker
Problemy ze stabilnością mechanizmów Service Worker zostały rozwiązane. W Chrome 116 dodaliśmy zaawansowane funkcje utrzymywania aktywności do interfejsów API rozszerzeń, które wyświetlają prompty użytkownika, oraz ulepszyliśmy obsługę WebSockets (zobacz samouczek Używanie WebSockets w rozszerzeniach). Od wersji Chrome 118 skrypt service worker pozostanie aktywny podczas aktywnej sesji interfejsu Debugger API.
Aby dowiedzieć się więcej, zapoznaj się ze zaktualizowanymi wskazówkami dotyczącymi Service Worker. Jeśli po wersji 119 Twoi użytkownicy nadal będą napotykać problemy ze stabilnością mechanizmów Service Worker w Chrome, daj nam znać.
Zwiększone bezpieczeństwo
Wcześniej otwarcie niektórych adresów URL chrome://
przy użyciu funkcji tabs.update()
, tabs.create
i windows.create()
powodowało błąd lub awarię Chrome. Usłudze tabs.update()
nie udało się otworzyć adresu URL JavaScript. W Chrome 117 zwiększyliśmy liczbę obsługiwanych adresów URL w języku chrome://
, a blokowanie adresów URL w języku JavaScript dotyczy teraz wszystkich metod interfejsu API rozszerzeń.
Jeśli zainstalowane rozszerzenie nie jest już dostępne w Chrome Web Store, użytkownicy Chrome 117 będą otrzymywać aktywne powiadomienia na stronie Rozszerzenia do Chrome. Może się tak zdarzyć, jeśli deweloper cofnie publikację rozszerzenia, zostanie ono usunięte z powodu naruszenia zasad lub zostanie uznane za złośliwe oprogramowanie. Więcej informacji znajdziesz w artykule na temat wprowadzania kontroli zabezpieczeń na stronę chrome://extensions.
W Chrome 118 rozszerzenia nie będą mogły przechodzić do adresów URL file://
za pomocą interfejsów API chrome.tabs
i chrome.windows
, chyba że na stronie z informacjami o rozszerzeniu jest włączona opcja „Zezwalaj na dostęp do adresów URL plików”. Zobacz dyskusję WECG.
Więcej nowych interfejsów API
- Środowisko wykonawcze API: od Chrome 116 możesz używać
runtime.getContexts()
do pobierania informacji o aktywnych kontekstach. Możesz na przykład sprawdzić, czy istnieje aktywny dokument poza ekranem. - Interfejs Side Panel API – w Chrome 116 możesz używać
sidepanel.open()
do automatycznego otwierania panelu bocznego rozszerzenia w odpowiedzi na gest użytkownika, np. kliknięcie menu kontekstowego. - TabCapture API Dodano możliwość wywoływania
getMediaStreamId()
z skryptu usługi rozszerzenia w celu uzyskania obiektuMediaStream
z identyfikatora strumienia w dokumencie poza ekranem w Chrome 116. Przykłady znajdziesz w artykule Nagrywanie dźwięku i przechwytywanie ekranu. - DeklaratywnyNetRequest API: w Chrome 118 domyślna wartość właściwości
isUrlFilterCaseSensitive
została zmieniona nafalse
.
Już wkrótce...
Po opublikowaniu Chrome 120 planujemy rozwiązać wszystkie pozostałe problemy wymienione na stronie ze znanymi problemami. Planujemy też dodać te funkcje:
- Interfejs UserScripts API umożliwia menedżerom skryptów użytkownika koordynowanie sposobu i czasu wstrzykiwania kolekcji skryptów użytkownika na strony internetowe. Szczegółowe informacje znajdziesz w propozycji WECG.
- Interfejs ReadingList API umożliwia programistom tworzenie, odczytywanie, aktualizowanie i usuwanie metadanych znajdujących się w panelu „Do przeczytania” w panelu bocznym. Obejrzyj ogłoszenie na stronie Co nowego w rozszerzeniach do Chrome.
- Zgodnie z opiniami w grupie społeczności rozszerzeń internetowych znacznie zwiększamy limit włączonych reguł statycznych 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 File handling API: będzie dostępny dla rozszerzeń do ChromeOS od wersji ChromeOS 120, aby umożliwić rozszerzeniom otwieranie plików o określonych typach MIME i rozszerzeniach w sposób podobny do obsługi plików na platformie internetowej.
- Po ustawieniu
userVisibleOnly
nafalse
rozszerzenia będą mogły korzystać z internetowego interfejsu API Push wself.registration.pushManager.subscribe()
bez wyświetlania powiadomień widocznych dla użytkowników. Dzięki temu powiadomienia push będą bardziej bezproblemową alternatywą dla protokołu WebSockets w skryptach service worker (MV3) w przypadku asynchronicznej komunikacji klient-serwer. Więcej informacji znajdziesz w sekcjach Błąd w Chromium i dyskusje WECG.
Zaglądaj na stronę Co nowego w rozszerzeniach, gdzie znajdziesz ogłoszenia, gdy tylko te funkcje pojawią się w Chrome Beta.
Uaktualnienia dokumentacji
Ulepszyliśmy też naszą dokumentację i powiększyliśmy ją. Nadal zadawaj pytania dotyczące grupy chromium-group i zgłaszaj problemy z dokumentacją.
W skrócie
- Ulepszyliśmy stronę docelową Sample. Teraz możesz filtrować według interfejsu API, uprawnień i typu, co ułatwia znajdowanie konkretnych przykładów. Ulepszenie to konsekwencja naszego stażysty Summer of Code, Xuezhou Dai. Przeczytaj o swoich doświadczeniach w tym poście na blogu.
- Używanie konta Google Analytics w Chrome Web Store zawiera informacje o tym, jak wyświetlać Google Analytics 4 na stronie aplikacji w Chrome Web Store jako uzupełnienie danych dostępnych w Panelu dewelopera. Z tego przewodnika dowiesz się, jak włączyć Google Analytics, monitorować skuteczność reklam, śledzić konwersje i przyznawać innym kontom dostęp do danych Google Analytics.
- Opublikowaliśmy nowy przewodnik na temat działań interfejsów API plików cookie i przechowywania danych w internecie w rozszerzeniach do Chrome. Zawiera on wszystkie informacje o Piaskownicy prywatności dla twórców rozszerzeń.
- Udostępniliśmy nowe artykuły na temat integrowania testów w projektach rozszerzeń: Testowanie jednostkowe rozszerzeń do Chrome i Kompleksowe testowanie rozszerzeń zawiera ogólne wskazówki i sprawdzone metody dotyczące wielu popularnych platform. Praktyczny samouczek znajdziesz w artykule Testowanie rozszerzeń do Chrome w aplikacji Puppeteer.
Więcej nowych informacji
- Zmieniliśmy wytyczne dotyczące interfejsu Deklaratywny Net Request API w sposób, który ukazuje bardziej klarowny obraz implementacji zestawów reguł deklaratywnych.
- Dodaliśmy więcej wskazówek dotyczących migracji kodu hostowanego zdalnie do platformy Manifest V3. Aby zminimalizować ryzyko problemów podczas publikowania, oferujemy strategie publikowania rozszerzenia Manifest V3 etapami.
- Dowiedz się, jak nawiązać połączenie z WebSocket w skrypcie service worker rozszerzenia.
- Rozszerzyliśmy nasz Przewodnik po Uzyskiwanie pomocy o bardziej szczegółowe instrukcje dotyczące zgłaszania błędów, śledzenia istniejących problemów, zgłaszania próśb o nowe funkcje itp.
Już wkrótce...
- Dokumentacja i samouczek interfejsu User Scripts API.
- Samouczek i przykłady Firebase.
- Dokumentacja interfejsu ReadingList API.
Nowy wygląd sklepu Chrome Web Store 👀
Na początku tego miesiąca ogłosiliśmy wczesną wersję przedpremierową odświeżonego sklepu Chrome Web Store, co sugerowaliśmy na konferencji Google I/O. Przekonaj się sam! https://chromewebstore.google.com/ Kilka istotnych zmian:
- Rozszerzyliśmy listę kategorii z jedenastu do nowej listy siedemnastu w trzech grupach.
- Ulepszono autouzupełnianie w wyszukiwaniu.
- Zrzuty ekranu są teraz wyświetlane w znacznie wyższej jakości. Możesz przesłać zrzuty ekranu o rozdzielczości 1280 x 800 (jeśli nie zostało to jeszcze zrobione).
- Odpowiedzi na pytania na karcie Pomoc są teraz wyświetlane jako nowe wiersze.
- Gdy będziesz odpowiadać na opinie użytkowników i pytania do pomocy, obok Twojej nazwy użytkownika będzie widoczna plakietka „Deweloper”.
- Możesz podać użytkownikom bezpośredni link do strony z opiniami, dodając „/opinie” na końcu adresu URL produktu w sklepie, np.
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
Dziękujemy za wszystkie dotychczasowe działania związane z grupą chromium-google. Dołącz do dyskusji lub prześlij swoją opinię bezpośrednio do zespołu CWS, używając opcji menu Prześlij opinię:
Możesz też przesłać formularz samodzielnej nominacji, który posłuży do dodania Cię do kolekcji Redakcje polecają. Wkrótce udostępnimy kolejne ulepszenia w Panelu dewelopera.
💡 Czy wiesz, że...
- Oto nowy film o debugowaniu rozszerzeń do Chrome. Omawiamy w nim wiele tematów, które być może już znasz, a także przedstawiamy kilka wskazówek dotyczących korzystania z Narzędzi deweloperskich w rozszerzeniach.
- Teraz musisz dodać politykę prywatności dla każdego rozszerzenia. Wcześniej można było dodać tylko 1 politykę prywatności na konto dewelopera, ale to niełatwa obsługa, jeśli na jednym koncie dewelopera było kilka rozszerzeń. Nowy interfejs jest dostępny na karcie Prywatność w panelu dewelopera. Oznacza to, że polityka prywatności na poziomie konta nie jest już obsługiwana.
Kontaktuję się 🙌
Wciąż kontaktujemy się ze społecznością deweloperów rozszerzeń za pomocą indywidualnych spotkań, uruchamiamy nowe programy i uczestniczymy w zjeździe. Oto kilka najważniejszych kwestii:
- Rozszerzenia Program Ekspertów Produktowych Google został wprowadzony w sierpniu. Opracowaliśmy kilkanaście nowych GDE z całego świata skupiających się na rozszerzeniach do Chrome, które dzielą się z nami bardzo cennymi opiniami. Mamy bardzo ciekawy okres.
- Wzięliśmy udział w TPAC (corocznej konferencji W3C) w ramach Web Extensions Community Group i spotkaliśmy się z przedstawicielami Firefoksa i Safari oraz członkami tej społeczności. Poczyniliśmy znaczne postępy w kilku kwestiach, m.in. zaczęliśmy pracować nad spójnością interfejsów API rozszerzeń, opracowujemy specyfikację i opracowaliśmy testy Web Platform w celu utworzenia nowego zestawu testów. Przeczytaj pełne minuty w repozytorium WECG.
- W zeszłym tygodniu zespół ds. rozszerzeń wziął udział w zjeździe Ad-Filtering Dev Summit w Amsterdamie. Poznali kilku z Was na kawie, którą przeprowadzili, przed tygodniem zjazdu, a w piątek na godziny otwarcia.
Nawet jeśli nie udało Ci się wziąć udziału w żadnym z tych wydarzeń, nadal możesz się zaangażować, zadając pytania w grupie Google chromium-extensions, po rozmowach z partnerami w zakresie przeglądarek w WECG i zgłaszając ewentualne problemy z dokumentacją.
Jeszcze raz dziękujemy, że jesteś częścią społeczności programistów rozszerzeń.