Ścieżka animacji CSS, pamięć podręczna stanu strony internetowej NotRestoredReason API, obraz w obrazie dokumentu i inne.
O ile nie zaznaczono inaczej, opisane zmiany dotyczą najnowszej wersji wersji beta Chrome na systemy Android, ChromeOS, Linux, macOS i Windows. Więcej informacji o funkcjach znajdziesz, klikając odpowiednie linki lub korzystając z listy na ChromeStatus.com. Chrome 116 jest w wersji beta od 19 lipca 2023 r. Najnowsze wersje możesz pobrać ze strony Google.com na komputer lub ze Sklepu Google Play na urządzeniu z Androidem.
CSS
W tej wersji dodaliśmy dwie nowe funkcje CSS.
Ścieżka animacji CSS
Ścieżka animacji umożliwia autorom umieszczenie dowolnego obiektu graficznego i animowanie go wzdłuż ścieżki określonej przez programistę. Zapewnia to szereg nowych możliwości przekształcania, takich jak pozycjonowanie za pomocą współrzędnych biegunowych (funkcja ray()
) zamiast standardowych prostokątnych współrzędnych używanych przez funkcję translate()
lub animowanie elementu wzdłuż określonej ścieżki. Dzięki temu łatwiej jest zdefiniować złożone, piękne przejścia przestrzenne 2D. Ścieżka może być określona jako circle()
, ellipse()
, rect()
, inset()
, xywh()
, polygon()
, ray()
i url()
.
Wyświetlanie i animacje widoczności treści
Chrome 116 obsługuje właściwości display
i content-visibility
w animacjach klatek kluczowych. Ta obsługa pozwala programistom tworzyć animacje wyjścia, po których po zakończeniu animacji element automatycznie zmienia się na display: none
lub content-visibility: hidden
bez konieczności pisania kodu JavaScript do obsługi tego przełącznika. Pozwala to dodawać animacje wyjścia dla elementów bezpośrednio w CSS.
Internetowe interfejsy API
AbortSignal.any()
Zwraca sygnał, który jest przerywany po przerwaniu dowolnego sygnału źródłowego. Deweloperzy mogą używać tej funkcji do łączenia niezależnych źródeł przerwania, na przykład czasu oczekiwania określonego za pomocą parametru AbortSignal.timeout()
, i sygnałów powiązanych z funkcją AbortController, oraz do przekazywania ich do asynchronicznych interfejsów API, takich jak fetch()
.
Obsługa BYOB w przypadku pobierania
Implementacja ReadableStream w Chrome obsługuje czytniki BYOB (BYOB), które umożliwiają odczytywanie strumieni bajtów. Obecnie Response.body
jest także możliwym do odczytania strumieniem bajtowym zamiast „domyślnym” i czytelny strumień. Dzięki temu interfejs Fetch API może być używany z czytnikami BYOB, co ogranicza konieczność wyrzucania odpadów i kopii oraz usprawnia reagowanie na potrzeby użytkowników. Optymalizacja odnosi się teraz także do Blob.stream()
.
Interfejs API NotRestoredReason w pamięci podręcznej stanu strony internetowej
Interfejs API NotRestoredReason za pomocą interfejsu PerformanceNavigationTiming API zgłasza listę przyczyn, dla których strona nie jest wyświetlana z pamięci podręcznej BFcache w strukturze drzewa ramek.
Obraz w obrazie dokumentu
Funkcja Document Picture-in-Picture dodaje nowy interfejs API otwierający okno zawsze na wierzchu, które może być wypełnione dowolnym elementem HTMLElements
. Jest to rozwinięcie obecnego interfejsu API HTMLVideoElement
, które umożliwia umieszczenie HTMLVideoElement
w oknie obrazu w obrazie (PiP). Dzięki temu twórcy stron internetowych mogą zapewnić użytkownikom większą wygodę korzystania z funkcji obraz w obrazie.
Rozwinięte symbole wieloznaczne w źródłach zasad dotyczących uprawnień
Symbole wieloznaczne subdomen na listach dozwolonych zapewniały pewną elastyczność, ale różniły się od istniejących parserów symboli wieloznacznych i wymagały nowatorskiego kodu i specyfikacji. Spowoduje to zmniejszenie tego narzutu przez ponowne wykorzystanie części dotychczasowej specyfikacji Content Security Policy i zezwolenie na usługi scheme + wildcard domain
i wildcard port
z listy dozwolonych. W szczególności intencja mogłaby przyjąć definicję typu host-source i schema-source z definicji listy dozwolonych zamiast źródła z definicji listy dozwolonych, wymagając, aby część ścieżki była pusta (ponieważ do pasujących źródeł obowiązują zasady uprawnień).
Pakiet FedCM: interfejs Login Hint API, User Info API oraz RP Context API
Ta połączona aktualizacja umożliwia dostosowywanie sfederowanych przepływów logowania, które korzystają z interfejsu Federated Credential Management API (FedCM).
Dzięki interfejsowi Login Hint API podmiot uzależniający może podać wskazówkę dotyczącą konta użytkownika, które ma być wyświetlane w interfejsie FedCM. Używamy ich głównie po to, aby zapewnić większy komfort korzystania z usługi powracającym użytkownikom.
Interfejs User Info API umożliwia dostawcy tożsamości pobieranie informacji o użytkowniku w celu spersonalizowania sposobu logowania się powracających użytkowników, na przykład za pomocą spersonalizowanych przycisków „Zaloguj się przez dostawcę tożsamości”.
Dzięki interfejsowi RP Context API sieć RP może poprosić o wyświetlenie okna FedCM w celu zastąpienia tytułu „Zaloguj się” „Zarejestruj się”, „Użyj” lub „Dalej”, by dostosować reklamę do zamiarów użytkownika.
Nieskomponowane zdarzenia myszy i wskaźnika myszy oraz wskaźnik wejścia/opuszczenia
Ustaw właściwość event.composed
w zdarzeniach mouseenter
, mouseleave
, pointerenter
i pointerleave
"false"
, aby była zgodna ze specyfikacją i uzupełniała luki w współdziałaniu. Zarówno specyfikacja zdarzeń w interfejsie użytkownika w przypadku zdarzeń myszy, jak i specyfikacja zdarzeń wskaźnika wskazują te zdarzenia jako nieutworzone. Kilka lat temu w obu specyfikacjach nastąpiła zmiana pierwotnych definicji: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 Oprócz wyeliminowania luki w interoperacji ta zmiana koryguje również błędne podwójne lub potrójne wysyłanie tych zdarzeń przez hosta shadow DOM w modelu DOM.
Usuń dziedziczenie w piaskownicy document.open
Obecnie flagi piaskownicy wywołującego są stosowane do wywołującego, gdy document.open
kieruje na inne okno. Po tej zmianie ten problem zniknie.
Raportuj błąd krytyczny (CH) spowodował ponowne uruchomienie w NavigationTiming
Witryny mogą wskazywać, że konkretna wskazówka klienta ma dla strony kluczowe znaczenie, umieszczając ją w nagłówku odpowiedzi HTTP Critical-CH
. Spowoduje to ponowne uruchomienie połączenia, jeśli wskazówka wymieniona w nagłówku odpowiedzi HTTP Critical-CH
mogła zostać (ale nie została) uwzględniona w początkowo wysłanym żądaniu HTTP. Ta intencja sugeruje dodanie elementu readonly attribute DOMHighResTimeStamp criticalCHRestart;
do interfejsu PerformanceNavigationTiming
.
Trwa testowanie origin
W Chrome 116 możesz wyrazić zgodę na udział w tych nowych testach origin.
COOP: usługi-ograniczenia
Cross-Origin-Opener-Policy jest używana do rozdzielenia relacji między wyskakującymi okienkami a otwierającymi elementy w celu zwiększenia bezpieczeństwa. "restrict-properties" to proponowana wartość, która ogranicza relację, zamiast ją całkowicie odcinać. Spowoduje to włączenie crossOriginIsolated po sparowaniu z COEP.
Zarejestruj się w programie testowania origin usług na podstawie ograniczeń COOP.
Interfejs API stanu logowania FedCM
Interfejs API stanu logowania dostawcy tożsamości w ramach interfejsu Federated Credential Management API (FedCM) umożliwia dostawcy tożsamości sygnalizowanie przeglądarce, że użytkownicy logują się lub wylogowują. Dzięki temu usługa FedCM może poprawić swoje właściwości prywatności przez optymalizację UX.
Zarejestruj się w programie testowania origin stanu logowania w FedCM
Interfejs API EditContext
Interfejs EditContext API upraszcza proces integracji aplikacji internetowej z zaawansowanymi metodami wprowadzania tekstu, takimi jak pisanie kształtów, panele pisma odręcznego, rozpoznawanie mowy i kompozycje IME. Interfejs ten zwiększa dostępność i wydajność oraz zapewnia nowe możliwości edytorów internetowych.
Zarejestruj się w programie testowania origin interfejsu EditContext API
Czas trwania długiej animacji
To rozszerzenie długich zadań. Mierzy zadanie wraz z późniejszą aktualizacją renderowania, dodając takie informacje jak długotrwałe skrypty, czas renderowania oraz czas spędzony w wymuszonym układzie i stylu, określany jako thrashing układu.
Deweloperzy mogą wykorzystać tę wiedzę jako diagnozę „powolnego działania”, które jest mierzone przez INP, na podstawie informacji o przyczynach zatoru w wątku głównym, które jest często przyczyną złej wartości INP.
Zarejestruj się, aby wziąć udział w testowaniu origin długości klatki animacji