W Chrome 72 dodaliśmy obsługę tych funkcji:
- Tworzenie pól klas publicznych w JavaScripcie jest teraz znacznie łatwiejsze.
- Możesz sprawdzić, czy strona została aktywowana za pomocą nowego interfejsu User Activation API
- Lokalizowanie list staje się dużo łatwiejsze dzięki interfejsowi API
Intl.format()
.
A jest to wiele innych!
Nazywam się Pete LePage. Sprawdźmy, co nowego dla deweloperów w Chrome 72.
Historia zmian
To tylko niektóre z najważniejszych zmian. Aby poznać dodatkowe zmiany w Chrome 72, kliknij linki poniżej.
- Lista zmian repozytorium źródłowego Chromium
- Aktualizacje ChromeStatus.com dla Chrome 72
- Wycofywanie i usuwanie Chrome 72
Pola klas publicznych
Mój pierwszy język to Java, a nauka JavaScriptu zapętliła. Jak utworzyć zajęcia? Czy może też dziedziczenie? A co z publicznymi i prywatnymi metodami i metodami? Wiele z ostatnich aktualizacji JavaScriptu, które znacznie ułatwiają programowanie zorientowane na obiekty.
Mogę teraz tworzyć klasy, które działają zgodnie z oczekiwaniami, wraz z konstruktorami, metodami pobierania i ustawiania, metodami statycznymi i właściwościami publicznymi.
V8 7.2, który jest częścią Chrome 72, umożliwia deklarowanie pól klas publicznych bezpośrednio w definicji klasy, dzięki czemu nie trzeba tego robić z poziomu konstruktora.
class Counter {
_value = 0;
get value() {
return this._value;
}
increment() {
this._value++;
}
}
const counter = new Counter();
console.log(counter.value);
// → 0
counter.increment();
console.log(counter.value);
// → 1
Pracujemy nad obsługą pól zajęć prywatnych.
Więcej informacji znajdziesz w artykule Mathiasa o polach zajęć.
Interfejs User Activation API
Pamiętasz, kiedy strony mogły automatycznie odtwarzać dźwięk zaraz po wczytaniu strony? Możesz starać się nacisnąć klawisz wyciszania albo dowiedzieć się, która to karta, i zamknąć ją. Dlatego niektóre interfejsy API wymagają aktywacji za pomocą gestu użytkownika, zanim będą mogły działać. Przeglądarki obsługują aktywację na różne sposoby.
W Chrome 72 wprowadzamy funkcję Aktywacja użytkowników w wersji 2, która upraszcza aktywację użytkowników we wszystkich interfejsach API objętych ograniczeniami. Opiera się ona na nowej specyfikacji, która ma ujednolicić sposób działania aktywacji we wszystkich przeglądarkach.
Istnieje nowa właściwość userActivation
zarówno w przypadku elementów navigator
, jak i MessageEvent
, która ma 2 usługi: hasBeenActive
i isActive
:
hasBeenActive
wskazuje, czy w powiązanym oknie w trakcie cyklu życia wystąpiła wcześniej aktywacja użytkownika.isActive
wskazuje, czy w cyklu życia powiązane okno jest obecnie aktywowane przez aktywację użytkownika.
Więcej informacji znajdziesz w artykule Zapewnianie spójności aktywacji użytkowników we wszystkich interfejsach API.
Lokalizacja treści listy rzeczy za pomocą usługi Intl.format
Bardzo lubię Intl
interfejsy API – bardzo przydają się one do lokalizowania treści na inne języki. W Chrome 72 dostępna jest nowa metoda .format()
, która ułatwia renderowanie list. Podobnie jak inne interfejsy API Intl
przenosi obciążenie na mechanizm JavaScript bez negatywnego wpływu na wydajność.
Zainicjuj go wybranym językiem, a następnie wywołaj format
. Użyje ono prawidłowych słów i składni. Możesz stosować spójniki, czyli zlokalizowane odpowiedniki słowa and (i zwróć uwagę na te piękne oksfordki). Może robić odstępy, dodając lokalny odpowiednik funkcji lub. Zapewnia też dodatkowe opcje, dzięki czemu można zrobić jeszcze więcej.
const opts = {type: 'disjunction'};
const lf = new Intl.ListFormat('fr', opts);
lf.format(['chien', 'chat', 'oiseau']);
// → 'chien, chat ou oiseau'
lf.format(['chien', 'chat', 'oiseau', 'lapin']);
// → 'chien, chat, oiseau ou lapin'
Więcej informacji znajdziesz w poście na temat interfejsu Intl.ListFormat API.
…i wiele innych.
To tylko kilka ze zmian wprowadzonych w Chrome 72 dla deweloperów, oczywiście jest ich znacznie więcej.
- Chrome 72 zmienia działanie
Cache.addAll()
, aby lepiej dopasować je do specyfikacji. Wcześniej, jeśli w tym samym wywołaniu znajdowały się zduplikowane wpisy, kolejne żądania powodowały po prostu zastąpienie pierwszego. Aby zapewnić zgodność ze specyfikacją, jeśli istnieją zduplikowane wpisy, zostaną one odrzucone z użyciemInvalidStateError
. - Żądania favikon są teraz obsługiwane przez skrypt service worker, o ile adres URL żądania znajduje się w tym samym źródle co skrypt service worker.
Zasubskrybuj
Jeśli chcesz być na bieżąco z naszymi filmami, zasubskrybuj kanał dla deweloperów Chrome w YouTube, a za każdym razem, gdy opublikujemy nowy film, otrzymasz e-maila z powiadomieniem.
Nazywam się Pete LePage i jak tylko pojawi się Chrome 73, zajmę się tym, co nowego w Chrome.