W lipcu opublikowaliśmy nową serię na blogu, w których znajdziesz aktualne informacje o rozszerzeniach. Dzięki cennym opiniom i współpracy z innymi dostawcami przeglądarek w grupie społeczności WebExtensions cały czas ulepszamy interfejsy API rozszerzeń i pracujemy nad zwiększeniem spójności między przeglądarkami.
Witamy w wydaniu październikowym! W tym poście omówimy niektóre zmiany wprowadzone przez zespół ds. rozszerzeń do Chrome w ciągu ostatnich kilku miesięcy, a także nowe funkcje, które pojawią się jeszcze w tym roku. Zaczynajmy!
Nowe interfejsy API i funkcje rozszerzeń
W tej sekcji omawiamy najważniejsze zmiany w interfejsie API, krótko omawiamy inne ulepszenia interfejsu API i udostępniamy informacje o nadchodzących wersjach. Wszystkie nowe wersje są obecnie dostępne w najnowszej wersji beta. Szczegółowe informacje znajdziesz w harmonogramie publikacji Chromium.
W skrócie
Rozwiązane znane problemy
Zespół ds. rozszerzeń aktywnie pracuje nad rozwiązaniem problemów ze stabilnością platformy Manifest V3. Wprowadzono w Chrome 116 wiele ulepszeń, które pomogły nam zniwelować różnice w funkcjach między platformy Manifest V2 i V3. W Chrome 120 zakończyliśmy usuwanie wszystkich priorytetowych luk w platformach i zamknęliśmy wszystkie krytyczne błędy opisane na stronie znanych problemów. Wszystkie funkcje są obecnie dostępne w Chrome 120 Canary z wyjątkiem obsługi fileHandler w ChromeOS Lacros i interfejsu UserScripts API, który pojawi się w dalszej części tego miesiąca. Więcej informacji znajdziesz na zaktualizowanej stronie znanych problemów.
Poprawiona stabilność skryptu service worker
Problemy ze stabilnością skryptu service worker zostały rozwiązane. W Chrome 116 dodaliśmy silne mechanizmy utrzymywania aktywności do interfejsów API rozszerzeń, które wyświetlają prośby użytkowników, i ulepszyliśmy obsługę standardu WebSockets (zobacz samouczek Używanie WebSockets w rozszerzeniach). Od wersji Chrome 118 skrypt service worker pozostaje aktywny podczas aktywnej sesji interfejsu Debugger API.
Aby dowiedzieć się więcej, zapoznaj się ze zaktualizowanymi wskazówkami dotyczącymi skryptu Service Worker. Jeśli Twoi użytkownicy nadal napotykają problemy ze stabilnością skryptu service worker w Chrome po wersji 119, daj nam znać.
Zwiększone bezpieczeństwo
Wcześniej otwieranie niektórych adresów URL w systemie chrome://
za pomocą tabs.update()
, tabs.create
i windows.create()
powodowało błąd lub awarię Chrome. Poza tym aplikacja tabs.update()
nie może otworzyć adresu URL JavaScript. W Chrome 117 zwiększyliśmy liczbę obsługiwanych adresów URL chrome://
, a blokowanie adresów URL w języku JavaScript obejmuje teraz również wszystkie metody interfejsu API rozszerzeń.
W Chrome 117 użytkownicy będą otrzymywać aktywne powiadomienia na stronie Rozszerzenia Chrome, jeśli zainstalowane przez nich rozszerzenie nie jest już dostępne w Chrome Web Store. Może się tak zdarzyć, jeśli wydawca cofnie publikację rozszerzenia, zostanie ono usunięte z powodu naruszenia zasad lub zostanie zidentyfikowane jako złośliwe oprogramowanie. Więcej informacji znajdziesz w artykule Przenoszenie kontroli zabezpieczeń na stronę chrome://extensions.
W Chrome 118 rozszerzenia nie mogą przechodzić do adresów URL file://
przy użyciu 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ę o WECG.
Więcej uruchomień interfejsów API
- Runtime API: od Chrome 116 możesz używać
runtime.getContexts()
do pobierania informacji o aktywnych kontekstach. Możesz na przykład sprawdzić, czy jest aktywny dokument poza ekranem. - 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 funkcji
getMediaStreamId()
z skryptu service worker rozszerzenia i uzyskiwania obiektuMediaStream
z identyfikatora strumienia w dokumencie poza ekranem w Chrome 116. Przykłady znajdziesz w artykule Nagrywanie dźwięku i przechwytywanie ekranu. - ClaimativeNetRequest API: w Chrome 118 domyślna wartość właściwości
isUrlFilterCaseSensitive
została zmieniona nafalse
.
Już wkrótce...
Planujemy zająć się wszystkimi pozostałymi elementami przedstawionymi na stronie znanych problemów po opublikowaniu Chrome 120. Planujemy też dodać następujące funkcje:
- Interfejs UserScripts API pozwala menedżerom skryptów użytkownika koordynować sposób i czas wstrzykiwania na stronach internetowych kolekcji skryptów użytkownika. Szczegółowe informacje znajdziesz w propozycji WECG.
- Interfejs ReadingList API pozwala deweloperom tworzyć, odczytywać, aktualizować i usuwać metadane znajdujące się w panelu listy Do przeczytania w panelu bocznym. Obejrzyj film Co nowego w rozszerzeniach do Chrome z okazji zapowiedzi.
- Po uwzględnieniu opinii członków grupy Społeczności rozszerzeń internetowych 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 File handling API: będzie dostępny dla rozszerzeń do ChromeOS w ChromeOS 120, który pozwala rozszerzeniom otwierać pliki o określonych typach MIME i rozszerzeniach w sposób podobny do obsługi plików na platformach internetowych.
- Rozszerzenia będą mogły korzystać z internetowego interfejsu API Push przez
self.registration.pushManager.subscribe()
bez wyświetlania powiadomień widocznych dla użytkowników. W tym celu należy ustawićuserVisibleOnly
nafalse
. Dzięki temu powiadomienia push staną się wygodniejszą alternatywą dla asynchronicznego komunikacji klient-serwer dla skryptów WebSockets w mechanizmach Service Worker (MV3). Szczegółowe informacje znajdziesz w błędzie Chromium i dyskusji na temat WECG.
Gdy tylko te funkcje będą dostępne w Chrome Beta, na stronie Co nowego w rozszerzeniach będziemy informować na bieżąco.
Uaktualnienia dokumentacji
Udoskonaliliśmy także naszą dokumentację i dodaliśmy nowe możliwości. Nadal zadawaj pytania na temat grupy chromium-group i zgłoś problemy z dokumentacją.
W skrócie
- Ulepszyliśmy stronę docelową Sample. Teraz możesz filtrować dane według interfejsu API, uprawnień i typu, co ułatwia znajdowanie konkretnych przykładów. Ulepszenie to było efektem naszych współpracy ze stażystą Summer of Code, Xuezhou Dai. Informacje o jego doświadczeniach znajdziesz w tym poście na blogu.
- Korzystanie z konta Google Analytics w Chrome Web Store to opis sposobu wyświetlania Google Analytics 4 na stronie aplikacji w Chrome Web Store, który uzupełnia dane z 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, jak działają pliki cookie i interfejsy API do przechowywania danych w internecie w rozszerzeniach do Chrome. Znajdziesz w nim wszystko, co musisz wiedzieć o Piaskownicy prywatności jako deweloper rozszerzeń.
- Opublikowaliśmy nowe artykuły o tym, jak zintegrować testowanie w projektach dotyczących rozszerzeń: testowanie jednostkowe rozszerzeń do Chrome i kompleksowe testowanie rozszerzeń, w których znajdziesz ogólne wskazówki i sprawdzone metody dotyczące wielu popularnych platform. Praktyczny samouczek znajdziesz w artykule Testowanie rozszerzeń do Chrome przy użyciu aplikacji Puppeteer.
Więcej nowych informacji
- Opracowaliśmy wytyczne dotyczące deklaratywnego interfejsu Net Request API w taki sposób, aby nadawać bardziej przejrzysty obraz sposobu implementacji deklaratywnych zestawów reguł.
- Dodaliśmy więcej wskazówek dotyczących migracji kodu hostowanego zdalnie do platformy Manifest V3. Aby zminimalizować ryzyko wystąpienia problemów podczas wprowadzania na rynek wersji, oferujemy strategie publikowania rozszerzenia Manifest V3 etapowo.
- Dowiedz się, jak połączyć się z WebSocket w skrypcie service worker rozszerzenia.
- Rozbudowaliśmy nasz przewodnik pomocy, który zawiera bardziej szczegółowe instrukcje m.in. na temat zgłaszania błędu, śledzenia dotychczasowych problemów czy zgłaszania próśb o dodanie nowych funkcji.
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 Chrome Web Store, co zapowiedzieliśmy na konferencji Google I/O. Przekonaj się o tym! https://chromewebstore.google.com/. Kilka ważnych zmian:
- Zwiększyliśmy listę kategorii z listy jedenastu do nowej listy siedemnastu w trzech grupach.
- Ulepszone 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.
- Nowe wiersze odpowiedzi na pytania na karcie Pomoc są teraz widoczne.
- Gdy odpowiadasz na opinie użytkowników i pytania do zespołu pomocy, Twoja odpowiedź będzie teraz opatrzona plakietką „Deweloper”.
- Możesz podać użytkownikom bezpośredni link do strony z opiniami, dodając „/reviews” na końcu adresu URL produktu w sklepie, np.
https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews
.
dziękuję za wszystkie dotychczasowe opinie na temat grupy chromium-google. Możesz dołączyć do dyskusji lub przesłać opinię bezpośrednio do zespołu CWS, korzystając z menu Prześlij opinię:
Możesz też przesłać formularz nominacji, aby Twoje filmy znalazły się w kolekcji Redakcje polecają. Wkrótce wprowadzimy też ulepszenia w panelu dewelopera.
💡 Czy wiesz, że...
- Obejrzyj nowy film o debugowaniu rozszerzeń do Chrome. Omówiliśmy w nim wiele tematów, które być może już znasz, ale zaprezentowaliśmy też kilka prostych porad dotyczących używania Narzędzi deweloperskich w rozszerzeniach.
- Teraz dla każdego rozszerzenia musisz określić politykę prywatności. Wcześniej można było dodać tylko 1 politykę prywatności na konto dewelopera, ale było to kłopotliwe, gdy na jednym koncie dewelopera było kilka rozszerzeń. Nowy interfejs jest dostępny na karcie Prywatność produktu w panelu dewelopera. Oznacza to, że polityka prywatności na poziomie konta nie jest już obsługiwana.
Wysyłam 🙌
Utrzymujemy kontakt ze społecznością deweloperów zajmujących się programami indywidualnymi, uruchamiając nowe programy i uczestnicząc w zjeździe. Oto kilka najważniejszych informacji:
- Program dla Ekspertów Produktowych Google został uruchomiony w sierpniu. Pojawiło się kilkanaście nowych grup GDE z całego świata skupiających się na rozszerzeniach do Chrome, co bardzo nas ceni. Mamy przed Tobą bardzo ekscytujący okres!
- W ramach grupy Web Extensions Community uczestniczyliśmy w TPAC (corocznej konferencji W3C) i spotkaliśmy się z przedstawicielami Firefoksa i Safari oraz kilkoma członkami społeczności. Poczyniliśmy znaczne postępy w kilku tematach, w tym dążenie do bardziej spójnych interfejsów API rozszerzeń, opracowywanie specyfikacji i korzystanie z testów platformy internetowej w celu stworzenia nowego pakietu testowego. Przeczytaj pełne minuty w repozytorium WECG.
- W zeszłym tygodniu zespół ds. rozszerzeń wziął udział w konferencji Ad-Filtering Dev Summit w Amsterdamie. Spotkali się z kilkoma z Was na czacie przy kawie, który odbyli przed tygodniem szczytu i w godzinach otwarcia w piątek.
Nawet jeśli nie możesz uczestniczyć w żadnym z tych wydarzeń, możesz nadal się angażować, zadając pytania w grupie Google chromium-extensions, korzystając z rozmów z partnerami dotyczącymi przeglądarek na temat WECG oraz zgłaszając wszelkie problemy z dokumentacją.
Jeszcze raz dziękujemy, że należysz do społeczności deweloperów rozszerzeń.