Nowości w Chrome 88

Zaczynamy wdrażać Chrome 88 w wersji stabilnej.

Oto, co musisz wiedzieć na ten temat:

  • Teraz możesz przesyłać do Chrome Web Store rozszerzenia za pomocą manifestu V3.
  • Właściwość CSS aspect-ratio ułatwia ustawienie współczynnika proporcji dowolnego elementu.
  • W określonych warunkach Chrome 88 znacznie ogranicza łańcuchowe liczniki czasu JavaScriptu dotyczące ukrytych stron.
  • Teraz w swojej zaufanej aktywności w internecie możesz korzystać z Płatności w Google Play.
  • Wszystkie filmy z Chrome Dev Summit są już dostępne.
  • Jest ich wiele innych.

Jestem Pete LePage. Pracuję i nagrywam z domu. Przyjrzyjmy się nowościom dla programistów w Chrome 88.

(platforma) Manifest V3

Chrome 88 obsługuje teraz rozszerzenia utworzone za pomocą platformy Manifest V3. Możesz je przesyłać do Chrome Web Store. Manifest V3 to nowa platforma rozszerzeń, która domyślnie zwiększa bezpieczeństwo i wydajność rozszerzeń do Chrome oraz zapewnia ochronę prywatności.

Na przykład blokuje ona kod hostowany zdalnie, co pomaga weryfikatorom w Chrome Web Store lepiej zrozumieć ryzyko związane z rozszerzeniem. Powinno też umożliwić Ci szybsze aktualizowanie rozszerzeń.

Stosuje mechanizmy Service Worker, które zastępują strony działające w tle. Skrypty service worker znajdują się w pamięci tylko wtedy, gdy są potrzebne, więc rozszerzenia będą wykorzystywać mniej zasobów systemowych.

Aby zapewnić użytkownikom większą widoczność i kontrolę nad tym, jak rozszerzenia wykorzystują i udostępniają swoje dane, w przyszłej wersji wprowadzimy nowy proces instalacji, który umożliwi użytkownikom wstrzymanie uprawnień newralgicznych podczas instalacji.

Na stronie developer.chrome.com znajdziesz szczegółowe informacje o tym, jak przenieść obecne rozszerzenie do platformy Manifest V3.


Właściwość CSS aspect-ratio

Zwykle tylko niektóre elementy mają określony format obrazu, np. obrazy. Jeśli określisz tylko szerokość lub wysokość, druga wartość zostanie obliczona automatycznie z zastosowaniem wewnętrznego współczynnika proporcji.

<!-- Height is auto-computed from width & aspect ratio -->
<img src="..." style="width: 800px;">

W Chrome 88 właściwość aspect-ratio umożliwia jawne określenie formatu obrazu, co umożliwia podobne działanie.

.square {
  aspect-ratio: 1 / 1;
}

Możesz też korzystać z progresywnego ulepszania, by sprawdzić, czy przeglądarka je obsługuje, i w razie potrzeby zastosować metodę zastępczą. Następnie dzięki nowemu selektorowi not CSS w CSS 4 możesz uprościć swój kod.

.square {
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {
  .square {
    height: 4rem;
    width: 4rem;
  }
}

Dziękujemy Jenowi Simmonsowi za informację o tym, że ta funkcja działa w najnowszej wersji przedpremierowej przeglądarki Safari. Wkrótce powinna się to pojawić w Safari. Obejrzyj prezentację Uny, aby zobaczyć, jak to działa.

Intensywne ograniczanie łańcuchowych liczników czasu JS

W określonych warunkach Chrome 88 znacznie ogranicza łańcuchowe liczniki czasu JavaScriptu w przypadku ukrytych stron. Spowoduje to zmniejszenie wykorzystania procesora i baterii. W pewnych skrajnych przypadkach może to zmienić działanie, ale liczniki czasu są często używane tam, gdzie inny interfejs API byłby bardziej wydajny i niezawodny.

To było dość żargonu i niejednoznaczne. Aby dowiedzieć się więcej, przeczytaj artykuł Jake'a o poważnym ograniczaniu łańcuchowych liczników czasu JS od Chrome 88.

Płatności w Google Play w zaufanej aktywności internetowej

Możesz teraz używać Płatności w Play w swojej zaufanej aktywności w internecie do sprzedaży produktów cyfrowych i subskrypcji przy użyciu nowego interfejsu Digital Goods API. Jest ona dostępna w wersji próbnej origin w Chrome 88 na Androidzie. Spodziewamy się, że w następnej wersji rozszerzymy okres próbny na ChromeOS.

Po skonfigurowaniu kont zaktualizuj zaufaną aktywność w internecie, by włączyć płatności w Google Play, i utwórz swoje produkty cyfrowe w Konsoli programisty Play. Następnie w swojej aplikacji PWA dodaj token wersji próbnej origin i możesz dodać kod, który pozwoli sprawdzać istniejące zakupy, wysyłać zapytania o dostępne zakupy i dokonywać nowych.

// Get list of potential digital goods

const itemService =
  await window.getDigitalGoodsService("https://play.google.com/billing");

const details =
  await itemService.getDetails(['ripe_bananas', 'walnuts', 'pecans' ]);

Adriana i Andre szczegółowo omawiają w rozmowie na temat Chrome Dev Summit: Co nowego w aplikacjach internetowych w Google Play lub zapoznaj się z docs.

oraz inne informacje.

No i oczywiście jest ich jeszcze więcej.

  • Aby dostosować się do zmiany w standardzie HTML, tagi kotwicy z elementem target="_blank" będą teraz domyślnie korzystać z elementu rel="noopener", co pomoże zapobiegać atakom polegającym na wczytaniu tabulatora.
  • Większość systemów operacyjnych domyślnie włącza akcelerację myszy, ale w niektórych grach może to powodować problemy. W Chrome 88 interfejs Pointer Lock API umożliwia wyłączenie przyspieszenia myszy. Oznacza to, że ruch jest taki sam, zarówno wolny, jak i szybki, a występuje w nim jednakowy ruch, zapewniając lepszy wrażenia podczas gry i większą dokładność.
  • A addEventListener wybiera teraz opcję przerwania sygnału. Wywołanie abort() usuwa detektor zdarzeń, co ułatwia wyłączenie detektorów, gdy nie są już potrzebne.

Więcej informacji

To tylko niektóre z najważniejszych kwestii. Kliknij poniższe linki, aby dowiedzieć się więcej o zmianach w Chrome 88.

Subskrybuj

Jeśli chcesz być na bieżąco z naszymi filmami, zasubskrybuj kanał w YouTube dla deweloperów Chrome, aby otrzymywać e-maile z powiadomieniami o każdej publikacji nowego filmu.

Jestem Pete LePage i jak tylko pojawi się Chrome 89, będę informować Cię o nowościach w Chrome.