Opublikowano: 1 października 2025 r.
O ile nie zaznaczono inaczej, te zmiany dotyczą wersji beta Chrome 142 na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o tych funkcjach znajdziesz w podanych linkach lub na stronie ChromeStatus.com. Pobierz wersję beta Chrome 142 z Google.com na komputer lub ze Sklepu Google Play na Androida.
CSS i interfejs
:target-before
i :target-after
pseudoklasy
Te pseudoklasy pasują do znaczników przewijania, które znajdują się przed lub za aktywnym znacznikiem (pasującym do :target-current
) w tej samej grupie znaczników przewijania, zgodnie z kolejnością w płaskim drzewie:
:target-before
: pasuje do wszystkich znaczników przewijania, które poprzedzają aktywny znacznik w płaskiej kolejności drzewa w grupie.:target-after
: pasuje do wszystkich znaczników przewijania, które znajdują się za aktywnym znacznikiem w płaskiej strukturze drzewa w grupie.
Pozycjonowanie bezwzględne elementu ::view-transition
Przejścia widoku używają pseudopoddrzewa elementu, którego korzeniem jest ::view-transition
. Wcześniej element ::view-transition
miał atrybut position: fixed
. Grupa robocza CSS podjęła decyzję o wprowadzeniu tej position: absolute
, dlatego Chrome odzwierciedla teraz tę zmianę.
Ta zmiana nie powinna być zauważalna, ponieważ blok zawierający tego elementu pozostaje blokiem zawierającym migawkę w przypadku pozycji bezwzględnej lub stałej. Jedyna zauważalna różnica dotyczy getComputedStyle
.
activeViewTransition
usługa w dokumencie
Interfejs View Transitions API umożliwia programistom rozpoczynanie wizualnych przejść między różnymi stanami. Głównym punktem wejścia do aplikacji SPA jest startViewTransition()
, która zwraca obiekt przejścia. Ten obiekt zawiera kilka obietnic i funkcji do śledzenia postępu przejścia oraz umożliwia manipulowanie przejściami, np. pomijanie ich lub modyfikowanie ich typów.
Od Chrome 142 deweloperzy nie muszą już przechowywać tego obiektu. Ten obiekt jest reprezentowany przez usługę document.activeViewTransition
lub null
, jeśli nie trwa żadna migracja.
Dotyczy to też przejść na MPA, w przypadku których obiekt jest dostępny tylko w zdarzeniach pageswap
i pagereveal
. W ramach tej aktualizacji wartość document.activeViewTransition
jest ustawiana dla tego obiektu na czas przeniesienia.
Składnia zakresu w przypadku zapytań dotyczących kontenerów stylów i funkcji if()
Chrome ulepsza zapytania o style CSS i funkcję if()
, dodając obsługę składni zakresu.
Rozszerza zapytania o style poza dopasowywanie dokładnych wartości (np. style(--theme: dark)
). Deweloperzy mogą używać operatorów porównania (np. >
i <
) do porównywania właściwości niestandardowych, wartości dosłownych (np. 10 pikseli lub 25%) i wartości z funkcji zastępowania, takich jak attr()
i env()
. Aby porównanie było prawidłowe, obie strony muszą mieć ten sam typ danych. Jest on ograniczony do tych typów liczbowych: <length>
, <number>
, <percentage>
, <angle>
, <time>
, <frequency>
i <resolution>
.
Przykłady:
Porównaj właściwość niestandardową z długością literału:
@container style(--inner-padding > 1em) {
.card {
border: 2px solid;
}
}
Porównywanie 2 wartości literałów
@container style(1em < 20px) {
/* ... */
}
Korzystanie z zakresów stylów w if()
:
.item-grid {
background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}
Wywołujący zainteresowania (atrybut interestfor
)
Chrome dodaje atrybut interestfor
do elementów <button>
i <a>
. Ten atrybut dodaje do elementu zachowania związane z „zainteresowaniem”. Gdy użytkownik „wykazuje zainteresowanie” elementem, w elemencie docelowym są wywoływane działania, np. wyświetlanie wyskakującego okienka. User agent wykrywa, kiedy użytkownik „wykazuje zainteresowanie” elementem, np. poprzez przytrzymanie wskaźnika nad elementem, naciśnięcie specjalnych klawiszy skrótu na klawiaturze lub długie naciśnięcie elementu na ekranie dotykowym. Gdy użytkownik wykazuje zainteresowanie lub je traci, w elemencie docelowym uruchamia się zdarzenie InterestEvent
, które ma domyślne działania w przypadku wyskakujących okien, takie jak wyświetlanie i ukrywanie wyskakującego okna.
Usługa font-language-override
Chrome wprowadza obsługę właściwości CSS font-language-override
. Ta właściwość umożliwia deweloperom zastąpienie języka systemowego używanego do zastępowania glifów OpenType przez bezpośrednie określenie w CSS 4-znakowego tagu języka.
Umożliwia precyzyjną kontrolę typograficzną, co jest szczególnie przydatne w przypadku treści wielojęzycznych lub fontów z wariantami glifów specyficznymi dla danego języka.
atrybutu download
w elemencie SVG <a>
.
Chrome wprowadza obsługę atrybutu download
w interfejsie SVGAElement
, zgodnie ze specyfikacją SVG 2. Atrybut download
umożliwia autorom określenie, że zamiast przechodzić do celu hiperlinku SVG, ma on zostać pobrany. Odpowiada to działaniu, które jest już obsługiwane w HTMLAnchorElement
. Zapewnia interoperacyjność w przypadku głównych przeglądarek i spójne działanie elementów HTML i SVG<a>
, a także poprawia komfort pracy deweloperów i spełnia oczekiwania użytkowników.
Równoważność na urządzeniach mobilnych i komputerach w przypadku wybranych trybów renderowania elementów
Za pomocą atrybutów size
i multiple
element <select>
może być renderowany jako pole listy na stronie lub przycisk z wyskakującym okienkiem. Jednak te tryby nie są dostępne w spójny sposób w Chrome na urządzeniach mobilnych i komputerach. Renderowanie pola listy na stronie jest niedostępne na urządzeniach mobilnych, a przycisk z wyskakującym okienkiem jest niedostępny na komputerach, gdy występuje atrybut multiple
.
Ta aktualizacja dodaje pole listy na urządzeniach mobilnych i wielokrotne okienko wyboru na komputerach. Zapewnia też, że zgody użytkowników z atrybutami size
i multiple
będą renderowane w ten sam sposób na urządzeniach mobilnych i komputerach. Oto podsumowanie zmian:
- Jeśli atrybut
size
ma wartość większą niż1
, zawsze używane jest renderowanie na stronie. Urządzenia mobilne wcześniej to ignorowały. - Jeśli atrybut
multiple
jest ustawiony bez atrybutusize
, używane jest renderowanie na stronie. Na urządzeniach mobilnych wcześniej używano wyskakującego okienka zamiast listy wyboru na stronie. - Gdy atrybut
multiple
ma wartośćsize=1
, używane jest wyskakujące okienko. Na urządzeniach stacjonarnych wcześniej używano listy wyboru na stronie.
Trwałe aktywowanie użytkownika w przypadku nawigacji inicjowanych przez proces renderowania w ramach tej samej domeny
Chrome zachowuje stan trwałej aktywacji użytkownika po przejściu strony na inną stronę z tej samej domeny. Brak aktywacji użytkownika na stronie po nawigacji uniemożliwia niektóre przypadki użycia, np. wyświetlanie klawiatur wirtualnych przy automatycznym ustawianiu ostrości. Zablokowało to deweloperom możliwość tworzenia aplikacji wielostronicowych zamiast jednostronicowych.
Nie obejmuje to żądań nawigacji inicjowanych przez przeglądarkę (ponowne załadowanie, nawigacja po historii, wpisanie adresu URL na pasku adresu itp.).
Interfejsy Web API
WebGPU: primitive_index
funkcja
WebGPU dodaje nową opcjonalną funkcję, która udostępnia nowy wbudowany shader WGSL, primitive_index
. Zapewnia indeksowanie poszczególnych elementów pierwotnych do shaderów fragmentów na obsługiwanym sprzęcie, podobnie jak wbudowane funkcje vertex_index
i instance_index
. Indeks typu pierwotnego jest przydatny w zaawansowanych technikach graficznych, takich jak wirtualizacja geometrii.
WebGPU: formaty tekstur poziomu 1 i 2
Rozszerz obsługę formatu tekstur GPU o funkcje takie jak renderowanie załącznika, mieszanie, multisampling, rozwiązywanie i storage_binding.
Właściwość DataTransfer dla zdarzeń wejściowych insertFromPaste
, insertFromDrop
i insertReplacementText
Wypełnij właściwość dataTransfer
w zdarzeniach wejściowych wartościami inputType
: insertFromPaste
, insertFromDrop
i insertReplacementText
, aby zapewnić dostęp do schowka i danych przeciągania i upuszczania podczas operacji edycji w elementach z atrybutem contenteditable.
Obiekt dataTransfer
zawiera te same dane, które były dostępne podczas zdarzenia beforeinput
.
Ta funkcja dotyczy tylko elementów z atrybutem contenteditable. W przypadku elementów sterujących formularza ((textarea
, input
) zachowanie pozostanie bez zmian.
Ta właściwość zapewnia interoperacyjność Chrome z Safari i Firefoksem.
Sesja multimedialna: dodawanie przyczyny do enterpictureinpicture
szczegółów działania
Dodaje enterPictureInPictureReason
do MediaSessionActionDetails
wysyłanego do działania enterpictureinpicture
w interfejsie Media Session API. Dzięki temu deweloperzy mogą odróżniać enterpictureinpicture
działania wywołane bezpośrednio przez użytkownika (np. za pomocą przycisku w agencie użytkownika) od enterpictureinpicture
działań wywołanych automatycznie przez agenta użytkownika, ponieważ treść została zasłonięta.
Kontekstowe dostosowywanie w interfejsie Web Speech API
Ta aktualizacja umożliwia stronom internetowym obsługę kontekstowego dostosowywania rozpoznawania mowy przez dodanie listy fraz rozpoznawania do interfejsu Web Speech API.
Deweloperzy mogą podać listę fraz i zaktualizować ją, aby zastosować w modelach rozpoznawania mowy odchylenie na korzyść tych fraz. Pomaga to zwiększyć dokładność i trafność rozpoznawania mowy w przypadku konkretnych domen i spersonalizowanego rozpoznawania mowy.
Bardziej rygorystyczna *+json
weryfikacja tokenów MIME w przypadku modułów JSON
Odrzucaj odpowiedzi skryptu modułu JSON, których typ MIME lub podtyp zawiera punkty kodowe tokenów innych niż HTTP (np. spacje), gdy są dopasowane do *+json
. Jest to zgodne ze specyfikacją MIME Sniffing i innymi silnikami. Jest to część obszaru tematycznego modułów Interop2025.
FedCM – obsługa wyświetlania w interfejsie źródeł elementów iframe z innych domen
Przed wersją Chrome 142 interfejs FedCM zawsze wyświetlał witrynę najwyższego poziomu.
Sprawdza się to w przypadku, gdy element iframe jest koncepcyjnie własny (np. foo.com
może mieć element iframe foostatic.com
, który nie ma znaczenia dla użytkownika).
Jeśli jednak element iframe pochodzi od innej firmy, lepiej jest wyświetlać w interfejsie jego źródło, aby użytkownicy lepiej rozumieli, komu udostępniają swoje dane logowania. Na przykład edytor zdjęć może być osadzony w aplikacji internetowej do publikowania książek i umożliwiać użytkownikom dostęp do plików, które wcześniej zapisali w tym edytorze. Ta funkcja jest już dostępna.
Izolacja procesów ze źródłem jako kluczem
Zmienia zasadę izolacji procesów z blokowania procesów w witrynie (np. example.com
) na blokowanie ich w określonym źródle (np. foo.example.com
).
Aby jeszcze bardziej zwiększyć bezpieczeństwo, Chrome przechodzi na bardziej szczegółowy model izolacji procesów o nazwie „Izolacja pochodzenia”. Chrome używał „Izolacji witryn”, która grupowała różne źródła z tej samej witryny, np. a.example.com
i b.example.com
, w jeden proces renderowania.
Dzięki izolacji źródeł każde źródło (np. https://foo.example.com
) jest izolowane w osobnym procesie renderowania. Wzmacnia architekturę zabezpieczeń Chrome, dopasowując granice procesów do podstawowego modelu zabezpieczeń internetu opartego na pochodzeniu, co zapewnia większą ochronę przed potencjalnymi lukami w zabezpieczeniach witryn.
Zdarzenia pointerrawupdate
, które można obsługiwać w różnych przeglądarkach, są udostępniane tylko w bezpiecznych kontekstach.
W 2020 r. specyfikacja PointerEvents ograniczyła dostęp do interfejsu pointerrawupdate
do bezpiecznych kontekstów, ukrywając zarówno wywoływanie zdarzeń, jak i globalne detektory zdarzeń w niebezpiecznych kontekstach. Dzięki tej aktualizacji Chrome jest zgodny ze zaktualizowaną specyfikacją i współpracuje z innymi popularnymi przeglądarkami.
Trwające wersje próbne origin
W Chrome 142 możesz wziąć udział w tych nowych eksperymentach z źródłem.
Dane uwierzytelniające sesji powiązanych z urządzeniem
Sposób bezpiecznego powiązania sesji z jednym urządzeniem.
Umożliwia serwerom bezpieczne powiązanie sesji z urządzeniem. Przeglądarka okresowo odnawia sesję na żądanie serwera, przedstawiając dowód posiadania klucza prywatnego.
Pula gniazd TCP dla każdej witryny najwyższego poziomu
Ten eksperyment ocenia wpływ zmiany rozmiaru puli gniazd TCP na profil z 256 (wartość domyślna) na 513 przy jednoczesnym dodaniu limitu 256 na witrynę najwyższego poziomu (aby mieć pewność, że żadne 2 karty nie wyczerpią puli). Przeprowadziliśmy analizę możliwości zwiększenia limitu na profil do 512 i nie wykazała ona negatywnych skutków. Limit 256 plików cookie na witrynę najwyższego poziomu jest równy domyślnemu limitowi na profil, więc nie powinien negatywnie wpływać na skuteczność. Te limity są nakładane niezależnie na pulę gniazd WebSocket i zwykłą pulę gniazd (HTTP).
Jeśli nie wystąpią żadne negatywne skutki, zamierzamy uruchomić ten eksperyment bezpośrednio.