Nowości w Chrome 88

Chrome 88 zaczyna być wdrażane jako stabilna wersja.

Oto, co musisz wiedzieć na ten temat:

Nazywam się Pete LePage i pracuję z domu. Zobaczmy, co nowego w Chrome 88 dla deweloperów.

(platforma) Manifest V3

Chrome w wersji 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 zapewnia większą ochronę prywatności, bezpieczeństwo i wydajność rozszerzeń Chrome.

Na przykład nie zezwala na kod hostowany zdalnie, co pomaga recenzentom Chrome Web Store lepiej zrozumieć, jakie zagrożenia stwarza rozszerzenie. Powinny one umożliwić szybsze aktualizowanie rozszerzeń.

Wprowadza ona skrypty service worker jako zamiennik stron w tle. Ponieważ serwisy workery są w pamięci tylko wtedy, gdy jest to konieczne, rozszerzenia będą zużywać mniej zasobów systemowych.

Aby zapewnić użytkownikom większą przejrzystość i kontrolę nad tym, jak rozszerzenia używają i udostępniają ich dane, w przyszłej wersji wprowadzimy nowy proces instalacji, który pozwoli użytkownikom odmówić udzielenia dostępu do danych wrażliwych w momencie instalacji.

Pełne informacje oraz instrukcje migracji obecnego rozszerzenia na Manifest V3 znajdziesz na stronie developer.chrome.com.


Właściwość CSS aspect-ratio

Zazwyczaj tylko niektóre elementy mają współczynnik proporcji, np. obrazy. Jeśli w przypadku takich obrazów określono tylko szerokość lub wysokość, drugi wymiar jest obliczany automatycznie na podstawie wewnętrznego formatu obrazu.

<!-- 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ż użyć stopniowego ulepszania, aby sprawdzić, czy przeglądarka obsługuje tę funkcję, i w razie potrzeby zastosować rozwiązanie zastępcze. Następnie możesz użyć nowego selektora CSS 4 not, aby zadbać o czystość kodu.

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

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

Dziękujemy Jen Simmons za zwrócenie uwagi na to, że ta funkcja jest obsługiwana w najnowszej wersji technicznej Safari, więc wkrótce powinna pojawić się w Safari. Aby zobaczyć, jak to działa, obejrzyj prezentację Una.

Silne ograniczanie połączonych liczników czasu JS

W Chrome 88 liczniki czasu JavaScript w łańcuchu będą w określonych warunkach mocno ograniczane na ukrytych stronach. Pozwoli to zmniejszyć wykorzystanie procesora, a co za tym idzie – zużycie baterii. Są pewne przypadki, w których zachowanie się zmieni, ale zegary są często używane w miejscach, w których inny interfejs API byłby wydajniejszy i bardziej niezawodny.

To było dość skomplikowane i niejednoznaczne, więc zapoznaj się z artykułem Jake'a Wymuszanie ograniczeń na łańcuchowe liczniki czasu JS od wersji Chrome 88, aby poznać wszystkie szczegóły.

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

Teraz możesz używać Płatności w Google Play w ramach zaufanej aktywności w internecie, aby sprzedawać produkty cyfrowe i subskrypcje za pomocą nowego interfejsu Digital Goods API. Jest ona dostępna jako wersja próbna w Chrome 88 na Androida. W następnej wersji planujemy udostępnić ją również w ChromeOS.

Po skonfigurowaniu kont zaktualizuj zaufane działania w internecie, aby włączyć płatności w Google Play, i utwórz swoje produkty cyfrowe w Konsoli Play. Następnie w PWA dodaj token okresu próbnego pochodzenia. Możesz już dodać kod, aby sprawdzić dotychczasowe zakupy, zapytać o dostępne zakupy i dokonać nowych zakupów.

// 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 Andrej omawiają to szczegółowo w prezencie na Chrome Dev Summit Nowości w aplikacjach internetowych w Google Play. Możesz też zapoznać się z dokumentacją.

I nie tylko

I oczywiście jest jeszcze wiele innych.

  • Aby dostosować się do zmiany w standardzie HTML, tagi kotwicy z atrybutem target="_blank" będą teraz domyślnie zawierać atrybut rel="noopener". Pomoże to zapobiec atakom polegającym na przechwytywaniu kart.
  • Większość systemów operacyjnych domyślnie włącza przyspieszenie myszy, ale może to być problemem w przypadku niektórych gier. W Chrome 88 interfejs Pointer Lock API umożliwia wyłączenie przyspieszania myszy. Oznacza to, że ten sam ruch fizyczny, wolny lub szybki, powoduje ten sam obrót, co zapewnia lepsze wrażenia z gry i większą dokładność.
  • Element addEventListener może teraz przyjmować opcjonalny sygnał anulowania. Wywołanie funkcji abort() powoduje usunięcie tego detektora zdarzeń, co ułatwia wyłączenie detektorów zdarzeń, gdy nie są już potrzebne.

Więcej informacji

Obejmuje to tylko niektóre najważniejsze informacje. Aby dowiedzieć się więcej o dodatkowych zmianach w Chrome 88, kliknij linki poniżej.

Subskrybuj

Jeśli chcesz być na bieżąco z naszych filmów, zasubskrybuj kanał YouTube dla programistów Chrome. Otrzymasz wtedy e-maila z powiadomieniem, gdy opublikujemy nowy film.

Nazywam się Pete LePage i zaraz po wydaniu Chrome 89 opowiem Ci, co nowego w tej wersji przeglądarki.