Chrome 147 w wersji beta

Opublikowano: 11 marca 2026 r.

O ile nie zaznaczono inaczej, poniższe zmiany dotyczą najnowszej wersji beta Chrome na Androida, ChromeOS, Linuxa, macOS i Windowsa. Więcej informacji o tych funkcjach znajdziesz, klikając podane linki lub odwiedzając stronę ChromeStatus.com. Najnowszą wersję beta możesz pobrać ze strony Google.com na komputer lub ze Sklepu Google Play na Androida.

Zakres nazwany osi czasu scroll

Ta funkcja rozszerza zbiór zakresów nazwanych ViewTimelines, dodając zakres scroll.

Interfejs Scroll-Driven Animations API wprowadził ViewTimelines wraz z nazwanymi zakresami, które odnoszą się do części ViewTimeline określających zakres animacji.

Wszystkie podane nazwane zakresy były jednak ograniczone do części ViewTimeline, w której widoczny jest obiekt. Jest to przydatne dla autorów, którzy chcą odwołać się do pełnego zakresu kontenera przewijania, na którym oparta jest oś czasu. Ta funkcja dodaje do istniejącego zestawu (entry, exit, cover, contain) nazwany zakres scroll.

CSS contrast-color()

Możesz użyć tej funkcji, aby spełnić wymagania dotyczące kontrastu w zakresie ułatwień dostępu.

Funkcji contrast-color() można używać w dowolnym miejscu w CSS, w którym oczekiwana jest wartość koloru. Przyjmuje argument w postaci wartości koloru i zwraca wartość black lub white w zależności od tego, która z nich zapewnia najwyższy kontrast w stosunku do argumentu koloru.

CSS border-shape

CSS border-shape umożliwia tworzenie nieregularnych obramowań o dowolnym kształcie (np. polygon, circle, shape()).

Chociaż border-shape akceptuje te same kształty co clip-path, jest od niego zasadniczo inny: border-shape określa kształt obramowania, dekoruje go i przycina tylko wnętrze.

border-shape ma 2 warianty: jeden, który obrysowuje kształt, i drugi, który wypełnia obszar między dwoma kształtami.

Przejścia widoku zakresu elementu

Udostępnia Element.startViewTransition() w dowolnych elementach HTML. Element określa zakres przejścia, co oznacza, że na pseudoelementy przejścia wpływają klipy i przekształcenia elementów nadrzędnych, a wiele przejść na oddzielnych elementach może działać jednocześnie.

Aktualizacja usługi porównywania cen: rozdzielenie właściwości width i style

Chrome jest zgodny ze zaktualizowanymi specyfikacjami CSS dotyczącymi działania właściwości border-width, outline-width i column-rule-width. Wcześniej, jeśli odpowiedni atrybut border-style, outline-style lub column-rule-style miał wartość none lub hidden, obliczona szerokość tych właściwości była wymuszana do wartości 0px, niezależnie od określonej wartości.

Po tej zmianie obliczone wartości border-width, outline-widthcolumn-rule-width zawsze odzwierciedlają wartości określone przez autora, niezależnie od właściwości *-style. Dodatkowo rozwiązane wartości (zwracane przez getComputedStyle()) dla outline-widthcolumn-rule-width również odzwierciedlają określone wartości.

Ta zmiana sprawi, że Chrome będzie działać tak samo jak Firefox i WebKit, w których to przeglądarkach to zachowanie zostało już wdrożone.

CSSPseudoElement interfejs

Interfejs CSSPseudoElement reprezentuje pseudo-element w JavaScript.

CSSPseudoElement jest zwracana z Element.pseudo(type), gdzie type to:::after, ::before, ::marker. CSSPseudoElement to obiekt proxy, który reprezentuje pseudoelement, więc w przeciwieństwie do pseudoelementu CSSPseudoElement zawsze istnieje.

CSSPseudoElement ma te atrybuty i metody:

  • Atrybut type to ciąg znaków reprezentujący typ pseudoelementu.
  • Atrybut element jest ostatecznym elementem źródłowym pseudoelementu.
  • Atrybut parent to element źródłowy pseudoelementu (element lub CSSPseudoElement w przypadku zagnieżdżonych pseudoelementów).
  • Metoda pseudo(type) do pobierania zagnieżdżonych pseudoelementów.

Pseudocel w przypadku zdarzeń

W przypadku konkretnych zdarzeń dodawana jest wartość .pseudoTarget, która może być równa CSSPseudoElement (jeśli interakcja dotyczy pseudoelementu) lub null.

Dostarcza to bardziej szczegółowych informacji o źródle zdarzenia, np. że kliknięty został nie tylko element źródłowy (Event.target), ale konkretnie ::after. Pamiętaj, że wartość Event.target pozostaje bez zmian, więc zdarzenie zawiera tylko dodatkowe informacje o interakcji z pseudoelementem.

Zdarzenia to UIEvent, AnimationEvent, TransitionEvent.

Znaki mouseover, mouseout, mouseenter, mouseleave i ich odpowiedniki pointer* nie są obsługiwane.

Wykrywanie płaszczyzn WebXR

Interfejs WebXR Plane Detection API umożliwia witrynom pobieranie zestawu płaszczyzn wykrytych w środowisku użytkownika. Jest to mniej pracochłonne dla deweloperów i bardziej wydajne niż korzystanie z funkcji WebXR wykrywania głębi, ponieważ płaszczyzny, np. ściany, które zasłaniają obiekty, mogą być w pełni reprezentowane, jeśli system zna ich granice. Mapa głębi pokazywałaby ścianę, ale obiekty przed nią przerywałyby ją, potencjalnie zasłaniając jej pełny zakres. Dodatkowo informacje o etykietach semantycznych są dostępne, gdy urządzenie zna takie etykiety i pasują one do predefiniowanych kategorii, co zapewnia lepszą wiedzę o świecie.

Warstwy WebXR

WebXR Layers to wydajniejszy sposób renderowania treści immersyjnych.

Oprócz obsługi natywnych tekstur kolorów i głębi oraz tablic tekstur zapewnia też obsługę różnych typów warstw zarządzanych przez kompozytor systemu, a nie przez JavaScript.

Analizowanie XML w Rust w scenariuszach innych niż XSLT

W przypadkach, w których nie jest wymagane przetwarzanie XSLT, dostarczamy parser XML w języku Rust.

Parser XML w języku Rust zwiększa bezpieczeństwo, eliminując błędy uszkodzenia pamięci podczas analizowania XML. Ma on zastąpić używaną przez nas bibliotekę libxml2 (napisaną w języku C) bezpieczną alternatywą.

Chrome wycofuje XSLT. Podczas tego procesu możesz już używać bezpiecznego parsowania XML w Rust w scenariuszach, w których nie jest wymagany XSLT:

Dodaje obsługę typów modułów JSON i stylów jako <link rel="modulepreload">miejsc docelowych. <link rel="modulepreload"> jest już obsługiwana w Chromium (patrz https://chromestatus.com/feature/5762805915451392), ale obsługuje tylko wstępne wczytywanie skryptów modułów podobnych do skryptów. Ta funkcja wypełnia lukę w funkcjonalności, ponieważ skrypty modułów JSON i CSS są obsługiwane w Chromium w innych miejscach, ale nie są obsługiwane jako miejsca docelowe <link rel="modulepreload">. Moduły Style można wstępnie wczytać za pomocą <link rel="modulepreload" as="style" href="...">, a moduły JSON można wstępnie wczytać za pomocą <link rel="modulepreload" as="json" href="...">.

Math.sumPrecise

Propozycja TC39 dotycząca dodania do JavaScriptu metody sumowania wielu wartości.

Dodaj metodę Math.sumPrecise, która przyjmuje obiekt iterowalny i zwraca sumę wartości w tym obiekcie, korzystając z dokładniejszego algorytmu niż proste sumowanie.

Obsługa atrybutu path w elemencie SVG <textpath>

Ta zmiana dodaje obsługę atrybutu path w elemencie SVG <textPath>, co pozwala autorom definiować geometrię ścieżki tekstu w wierszu za pomocą danych ścieżki SVG i zmniejsza potrzebę oddzielnego definiowania elementów <path>.

<textPath> rozwiązuje geometrię ścieżki tekstowej, korzystając z tych reguł:

  1. Jeśli dostępne są oba atrybuty path i href, geometria jest określana na podstawie atrybutu path.
  2. Jeśli występuje tylko atrybut path i zostanie on prawidłowo przeanalizowany, użyta zostanie definicja ścieżki wbudowanej.
  3. Jeśli atrybut path jest nieobecny lub nie można go przeanalizować, a podany jest atrybut href, jako wartość zastępczą używany jest element <path>, do którego odwołuje się atrybut href.
  4. Dotychczasowe działanie w przypadku href pozostaje bez zmian.

Ta implementacja jest zgodna z definicją atrybutu pathw specyfikacji SVG 2 dotyczącą elementu <textPath>, a zachowanie rozdzielczości jest spójne z innymi silnikami przeglądarek, co zwiększa interoperacyjność i zgodność ze standardami.

Uzyskiwanie możliwości potwierdzania bezpiecznych płatności

Dodaje do interfejsu Payment Request nową metodę statyczną, która umożliwia deweloperom stron internetowych uzyskanie informacji o możliwościach implementacji w przeglądarce funkcji Secure Payment Confirmation.

Dzięki temu programiści stron internetowych wiedzą, jakie funkcje są dostępne w przypadku bezpiecznego potwierdzania płatności, i mogą zdecydować, czy chcą z nich korzystać.

Aktualizowanie limitów interfejsu Device Memory API

Aktualizacja do nowego zestawu możliwych wartości interfejsu Device Memory API:

  • Android: 1, 2, 4, 8
  • Inne: 2, 4, 8, 16, 32.

Zastąpienie starych wartości 0,25, 0,5, 1, 2, 4, 8, które stały się nieaktualne.

Zmniejsza to ryzyko fingerprintingu w przypadku urządzeń o mniejszych możliwościach, ponieważ od czasu ustalenia tych wartości ich możliwości się zwiększyły.

Ograniczenia dostępu do sieci lokalnej w przypadku Service Workerów WindowClient.navigate()

Ograniczenia dostępu do sieci lokalnej (LNA) zostały niedawno dodane, aby uniemożliwić witrynom jednostronne wysyłanie żądań do sieci lokalnych i urządzeń lokalnych. Zostało to dodane w przypadku żądań pobierania zainicjowanych przez skrypt service worker, ale nie było stosowane w przypadku nawigacji wykonywanych przez skrypty service worker za pomocą WindowClient.navigate.

Wprowadzamy to rozwiązanie, dodając ograniczenia LNA do wywołań WindowClient.navigate(), używając WindowClient jako inicjatora nawigacji, aby określić, czy nawigacja jest żądaniem LNA.

Ma to zastosowanie tylko wtedy, gdy WindowClient, do którego następuje nawigacja, jest ramką podrzędną. Chrome nie wymusza żadnych ograniczeń LNA w przypadku nawigacji w ramce głównej.

Ograniczenia dostępu do sieci lokalnej w przypadku protokołu WebSocket

Ograniczenia dostępu do sieci lokalnej (LNA) zostaną rozszerzone o WebSockety. Połączenia WebSockets z adresem lokalnym powodują teraz wyświetlanie prośby o uprawnienia.

Wszystkie zasady dotyczące przedsiębiorstw w ramach LNA nadal obowiązują w przypadku ograniczeń LNA WebSockets, w tym LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrlsLocalNetworkAccessRestrictionsTemporaryOptOut.

Więcej informacji o LNA znajdziesz w artykule Dostęp do sieci lokalnej.

Ograniczenia dostępu do sieci lokalnej w przypadku WebTransport

Ogranicza możliwość wysyłania żądań do sieci lokalnej użytkownika za pomocą interfejsu WebTransport, który wymaga wyświetlenia prośby o uprawnienia.

Żądanie sieci lokalnej to każde żądanie z witryny publicznej do lokalnego adresu IP lub sprzężenia zwrotnego albo z witryny lokalnej (np. intranetu) do sprzężenia zwrotnego. Ograniczenie możliwości wysyłania tych żądań przez witryny za pomocą uprawnień zmniejsza możliwość wykorzystywania tych żądań przez witryny do tworzenia odcisków cyfrowych sieci lokalnej użytkownika.

To uprawnienie jest ograniczone do bezpiecznych kontekstów.

Tylko IWA: interfejs Web Printing API

Ten interfejs API umożliwia głębszą integrację z funkcjami związanymi z drukarkami w izolowanych aplikacjach internetowych (IWA).

Interfejs Web Printing API udostępnia zestaw metod JavaScript, które umożliwiają programistom wysyłanie zapytań do drukarek lokalnych, przesyłanie zadań drukowania do najbardziej odpowiednich drukarek oraz zarządzanie opcjami i stanem zadań drukowania. Aby przedstawić te koncepcje, korzysta z nazw atrybutów i semantyki ze specyfikacji protokołu IPP (Internet Printing Protocol).

Nowe wersje próbne origin

W Chrome 147 możesz wziąć udział w tych nowych eksperymentach z pochodzeniem.

Czas kontenera

Interfejs Container Timing API umożliwia monitorowanie, kiedy na ekranie wyświetlają się oznaczone sekcje DOM i kiedy zakończy się ich początkowe renderowanie. Deweloper może oznaczyć podsekcje DOM atrybutem containertiming (podobnie jak elementtiming w przypadku Element Timing API) i otrzymywać wpisy dotyczące wydajności, gdy dana sekcja zostanie wyrenderowana po raz pierwszy. Ten interfejs API umożliwia deweloperom pomiar czasu wczytywania różnych komponentów na stronach.

Zdarzenie autouzupełniania

Autouzupełnianie to kluczowa funkcja internetu, która codziennie ułatwia życie milionom użytkowników. Jednak zapewnienie niezawodnego działania autouzupełniania w przypadku formularzy dynamicznych w różnych implementacjach może być skomplikowane.

Ta funkcja dodaje zdarzenie autofill, które jest uruchamiane, gdy przeglądarka ma automatycznie wypełnić pole formularza. Umożliwia ono deweloperom modyfikowanie formularzy w celu dopasowania ich do automatycznie wypełnionych danych i informowanie przeglądarki o zakończeniu tych działań.

Element instalacji HTML aplikacji internetowej

Umożliwia stronie internetowej deklaratywne wyświetlanie użytkownikom prośby o zainstalowanie aplikacji internetowej. Element opcjonalnie akceptuje 2 atrybuty, które umożliwiają instalowanie treści z innego źródła.

Listy dozwolonych połączeń

Listy dozwolonych połączeń to funkcja, która zapewnia wyraźną kontrolę nad zewnętrznymi punktami końcowymi przez ograniczanie połączeń inicjowanych za pomocą interfejsu Fetch API lub innych interfejsów API platformy internetowej z dokumentu lub procesu roboczego.

Proponowane wdrożenie obejmuje dystrybucję listy autoryzowanych punktów końcowych z serwera za pomocą nagłówka odpowiedzi HTTP. Zanim klient użytkownika nawiąże połączenie w imieniu strony, sprawdza, czy miejsce docelowe znajduje się na liście dozwolonych. Połączenia z zweryfikowanymi punktami końcowymi są dozwolone, a te, które nie pasują do wpisów na liście, są blokowane.

Wycofania i usunięcia

W tej wersji Chrome wprowadziliśmy te wycofania i usunięcia. Listy planowanych wycofań, bieżących wycofań i poprzednich usunięć znajdziesz na stronie ChromeStatus.com.

W tej wersji Chrome wycofujemy X funkcji.

Usuwanie wbudowanego kodu XSLT na potrzeby generowania plików SVG

Zaczynamy wycofywać wbudowane arkusze XSLT na potrzeby generowania plików SVG. Jest to wdrażane w synchronizacji z eksperymentalnymi testami analizatora XML opartego na języku Rust i nie jest od razu wdrażane w 100% w oznaczonej wersji wydania.

Specjalnie przygotowany plik XML może zawierać arkusz stylów XSL, który przekształca ogólne dane XML w plik SVG.

Przykład:https://gist.github.com/drott/1fc70b3c7f0ac314d1fe2e5beecc5490?short_path=1c60adf

Jest to szczególny przypadek XSLT, który według pomiarów użytkowania Chrome jest w internecie praktycznie nieobecny. Zanim Chrome całkowicie wycofa XSLT, planujemy wycofać i usunąć ten konkretny sposób użycia XSLT.