O ile nie zaznaczono inaczej, w najnowszej wersji beta przeglądarki Chrome mają zastosowanie następujące zmiany wersję na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o funkcjach wymienionych tutaj, klikając podane linki lub z listy na stronie ChromeStatus.com. Od 24 stycznia 2024 r. Chrome 122 jest w wersji beta. Możesz pobrać najnowsze informacje z Google.com na komputer lub w Sklepie Google Play na urządzeniu z Androidem.
CSS
W tej wersji dodaliśmy 3 nowe funkcje CSS.
Zapytania CSS @container z nieobsługiwanymi funkcjami nigdy nie pasują
@container
selektorów zawierających nieobsługiwane zapytania nigdy nie wybierze żadnych
kontenery, co oznacza, że nigdy nie będą one pasować.
Oznacza to, że to zapytanie nigdy nie będzie pasować do żadnego kontenera, nawet jeśli istnieje rozmiar kontenera, który pasuje do zapytania o szerokość. Na przykład to zapytanie nigdy nie zostaną dopasowane z powodu nieznanej funkcji:
@container (width > 0px) or (unknown) {}
Jest to ostatnia zmiana w specyfikacji, która ma na celu uniknięcie zgodności w przyszłości problemów.
Pseudoelement CSS ::backdrop
dziedziczący z elementu źródłowego
Pseudoelement ::backdrop
używany do dziedziczenia z wartości początkowych. To oznacza
::backdrop
nie może używać wartości właściwości niestandardowych, chyba że określono je bezpośrednio w
reguła ::backdrop
. Specyfikacja została zmieniona i ::backdrop
dziedziczy z elementu źródłowego, ta zmiana sprawi, że Chrome
zgodnie z nowymi specyfikacjami.
Warunki CSS supports()
dla @import
@import
akceptuje teraz warunek supports()
. Jeśli warunek supports()
nie pasuje, import nie zostanie pobrany.
@import "scroll-driven-animations.css" supports(animation-timeline: auto);
Zapytania dotyczące funkcji, które należy umieścić w elemencie supports()
, są takie same jak użyte
przy użyciu: @supports
Internetowe interfejsy API
Async Clipboard API: odczyt nieoczyszczonego kodu HTML
Dodaje unsanitized
w metodzie read()
, by uzyskać nieoczyszczony format HTML. Chyba że witryny
uwzględnić tę właściwość, odczyt ze schowka zostanie przetworzony.
Domyślnie podczas odczytu typów MIME text/html
przy użyciu asynchronicznego interfejsu API parametr
Funkcja sanitizer jest wywoływana w celu usunięcia zawartości ze znaczników HTML ze względów bezpieczeństwa
potencjalnych problemów, a style są wbudowane w kod HTML. Powoduje to duży ładunek HTML
i utratą wierności treści HTML w tekście odczytywanym przez programistów internetowych lub aplikacje mobilne.
Nie usuwaj obiektów rodzaju plików w DataTransfer.clearData()
Aktualizuje Chrome, aby dostosować
spec,
, który określa, że clearData()
nie ma wpływu na obiekty File. Usuwa tylko
obiektami rodzaju text
.
FedCM: odłącz
Umożliwia odłączenie sfederowanego konta logowania przy użyciu witryny jednostki uzależnionej. W przypadku interfejsu API rozłączania strona uzależniona może powiadomić dostawcę tożsamości, że używane wcześniej konto zostało odłączone, więc możesz zacząć z niego korzystać przy użyciu logowania sfederowanego wymagałoby traktowania go jako nowego konta.
Anulowanie interoperacyjnego zdarzenia kursora myszy w elemencie iframe
Ustaw kierowanie zdarzeń myszy niezależnie od anulowania zdarzenia naciśnięcia przycisku myszy, gdy
wskaźnik jest przeciągnięty poza element iframe. Gdy wskaźnik myszy zostanie przeciągnięty poza element iframe,
wszystkie przeglądarki (w tym Chrome) wysyłają zdarzenia mousemove
i mouseup
do
iframe. Jeśli jednak zdarzenie naciśnięcia przycisku myszy zostanie anulowane, Chrome zachowa obecnie
ze starym wyjątkiem WebKit, że zdarzenia ruchu kursora myszy i myszy są wysyłane do
ramki. W zeszłym roku ten wyjątek został usunięty przez WebKit, a Mozilla nigdy go nie pokazała
zachowania użytkowników w ostatnich latach. Ta funkcja usunie wyjątek tylko w Chrome dla:
tym szczególnym przypadku.
Pomocnicze iteracje
Funkcje pomocnicze iteracji to nowe metody na prototypie iteratora, aby umożliwić ogólne wykorzystanie i teratory.
MessagePort.onclose
Zmiana w interfejsie Channel Messaging API, która powoduje powiadomienie jednego z portów MessagePort
że drugi port został odłączony. Czyli close()
to
Jeśli dokument zostanie zniszczony, lub port zostanie oczyszczony ze śmieci.
Rozszerzenia RTCRtpSender setParameters() do żądania wygenerowania ramki klucza
Dodaje opcjonalny drugi parametr do wywołania RTCRtpSender.setParameters
WebRTC
który może służyć do wysłania do powiązanego kodera prośby o wygenerowanie klatki kluczowej.
Ustaw metody
Metody ustawiania to nowe metody, takie jak suma i część wspólna, dodawane do metody JavaScript
wbudowanej klasy Set
.
Interfejs Storage Buckets API
Zasobniki na dane umożliwiają organizowanie witryn danych na urządzeniu do osobnych „zasobników”, co pozwala klientom użytkownika usuwać grupowania danych niezależnie od danych, które znajdują się w innych grupach, pozwalając na ergonomiczne zarządzanie danymi powiązanymi z kontem semantycznym. Każdy zasobnik na dane może zawierają dane powiązane z ustalonymi interfejsami API do przechowywania danych, takimi jak IndexedDB czy CacheStorage.
URLPattern: hasRegExpGroups
Umożliwia sprawdzenie, czy URLPattern
używa co najmniej 1 klasycznej biblioteki ECMAScript
grup wyrażeń i dlatego może nie nadawać się do użytku w sytuacjach, w których
Mechanizm ECMAScript jest niedostępny (np. niektóre planowane interfejsy API w przyszłości).
Ogólnie rzecz biorąc, jest to coś, z czego deweloperzy i tak mogli się czegoś dowiedzieć.
sprawdzając wzorce, mając przy tym dostęp do implementacji w UA
to znacznie upraszcza ten proces.
Magazyn buforów rysowania w WebGL
WebGL umożliwia renderowanie tekstu w teksturach i buforach renderowania wielu różnych pikseli. formatów reklam. Na przykład kod 8-bitowy, zmiennoprzecinkowy lub sRGB.
Bufor rysunkowy WebGL (bufor przekazywany do kompozytora) to Domyślnie 8-bitowy. Funkcja rysowaniaBufferStorage pozwala WebGL skonfigurować bufora, co pozwala programistom wykonać poniższe czynności.
- Unikaj dodatkowej kopii podczas konwertowania ich renderowania na domyślny rysunek bufora.
- Rysuje treść z ponad 8-bitową precyzją.
Ta funkcja odblokowuje kilka dodatkowych aplikacji:
- Treści o bardzo szerokiej gamie kolorów bez utraty precyzji.
- Zastosowania medyczne, które wymagają ponad 8 bitów dokładności.
- Aplikacje o wysokim zakresie dynamiki (jeśli są dostępne).
Kodowanie klucza X25519Kyber768 na potrzeby protokołu TLS
Chroń bieżący ruch TLS w Chrome przed przyszłą kryptoanalizą kwantową przez wdrożyliśmy odporny kwantowy algorytm uzgadniania kluczy Kyber768. To jest hybrydowe uzgadnianie kluczy X25519 i Kyber768 oparte na standardzie IETF. Ten specyfikacja i uruchomienie wykraczają poza zakres W3C. Ta kluczowa umowa jako mechanizm szyfrowania TLS i powinny być przejrzyste dla użytkowników.
Trwa testowanie origin
W Chrome 122 możesz wybrać następujące nowe źródło .
Rozszerzenia zakresu aplikacji internetowej
Zakres aplikacji internetowej (zdefiniowany przez pole zakresu) można zdefiniować tylko za pomocą ścieżki z pojedyncze źródło. Jest używany do określania, czy okno aplikacji jest bieżące jest częścią aplikacji. Określa też, które adresy URL są dozwolone w innych użytkowników pliku manifestu.
Parametr scope_extensions pozwala programistom mogą rozszerzyć działania aplikacji, aby uwzględnić inne źródła, jeśli między podstawowym źródłem aplikacji internetowej a powiązanymi źródłami.
Zarejestruj się, aby skorzystać z testowania origin rozszerzeń aplikacji internetowej
Przechwycona kontrola powierzchni
Captured Surface Control API pozwala aplikacjom internetowym generować zdarzenia koła w przechwyconych kartach lub oknie oraz odczytywać lub zapisać poziom powiększenia zarejestrowanej karty.
Zarejestruj się w programie testowania origin Surface Control.