Data wydania wersji stabilnej: 14 stycznia 2025 r.
O ile nie zaznaczono inaczej, poniższe zmiany dotyczą wersji 132 przeglądarki Chrome na stabilnym kanale dla systemów Android, ChromeOS, Linux, macOS i Windows.
HTML i DOM
Wyjątek dla wyskakujących okienek i dialogów w nieaktywnych dokumentach
Wcześniej wywołanie metody showPopover()
lub showModal()
w wyskakującym okienku lub oknie dialogu znajdującym się w nieaktywnym dokumencie kończyło się niepowodzeniem. Nie zostanie zgłoszone żadne wyjątek, ale ponieważ dokument jest nieaktywny, nie pojawi się wyskakujące okienko ani okno dialogowe. Od wersji 132 Chrome w takich sytuacjach występuje błąd InvalidStateError
.
Śledzenie błędu #373684393 | Wpis na stronie ChromeStatus.com | Spec
Zdarzenia przełączania dialogu
Warto wiedzieć, kiedy elementy <dialog>
się otwierają i zamykają, a element popover
ma już zdarzenie ToggleEvent
, które jest wysyłane, gdy wyskakujące okienko się otwiera lub zamyka.
Wcześniej, aby wykryć, kiedy <dialog>
się otwiera, trzeba było zarejestrować obserwatora mutacji, aby sprawdzić, czy jest otwarta. Jednak wymagało to sporo pracy, podczas gdy zdarzenie jest łatwiejsze.
Ta zmiana obejmuje te same ToggleEvent
, które wysyłają wyskakujące okienka, ale dotyczy elementów <dialog>
: gdy wywoływana jest funkcja showModal
lub show
, funkcja <dialog>
wysyła element ToggleEvent
z wartością newState=open
. Gdy <dialog>
zostanie zamknięty (za pomocą formularza, przycisku lub modułu closewatcher), powinien wysłać ToggleEvent
z wartością newState=closed
.
Śledzenie błędu #41494780 | Wpis na stronie ChromeStatus.com | Specyfikacja
Popraw zaznaczony element isCollapsed
w modelu Shadow DOM
Selection isCollapsed powinna zwracać wartość true tylko wtedy, gdy kotwica i punkt fokusa są takie same. Wybór powinien zaczynać się lub kończyć w świetle lub drzewie cienia.
Demo | Śledzenie błędu #40400558 | Informacja na stronie ChromeStatus.com | Specyfikacja
CSS
Umieszczenie kotwicy w CSS: zezwalaj na użycie wartości anchor-size()
w właściwościach inset
i margin
Pierwotnie anchor-size()
było dozwolone tylko w przypadku właściwości rozmiarów. Specyfikacja została zmieniona, aby umożliwić stosowanie anchor-size()
również w przypadku wstawek i marginesów.
Śledzenie błędu #346521300 | Wpis na stronie ChromeStatus.com | Specyfikacja
Tryby pisania CSS w poziomie
Obsługa słów kluczowych sideways-rl
i sideways-lr
w przypadku właściwości writing-mode
CSS. sideways-rl
i sideways-lr
są przydatne do pisania tekstu niebędącego w systemie CJK w pionie. W odróżnieniu od vertical-rl
i vertical-lr
nie mają one zachowań korzystnych dla języków CJK.
MDN writing-mode | Śledzenie błędu #40501131 | Wpis na stronie ChromeStatus.com | Spec
Wczytuję
Pobieranie: Request.bytes()
i Response.bytes()
Do interfejsów Request
i Response
dodaj metodę bytes()
, która zwraca obietnicę, która zwraca Uint8Array. Chociaż Request
i Response
mają metodę arrayBuffer()
, nie można odczytywać bezpośrednio z bufora. Aby go odczytać, musisz utworzyć widok, np. Uint8Array
. Metoda bytes()
poprawia ergonomię uzyskiwania treści żądania i odpowiedzi.
Śledzenie błędu #340206277 | Wpis na stronie ChromeStatus.com | Specyfikacja
Ignoruj Strict-Transport-Security
w przypadku localhost
Nagłówki odpowiedzi Strict-Transport-Security
(STS) mogą powodować problemy z serwerami WWW localhost, ponieważ STS jest stosowany na poziomie hosta we wszystkich portach. Powoduje to problemy ze zgodnością w przypadku programistów stron internetowych, którzy testują lokalnie. Dotyczy to również użytkowników, którzy korzystają z pakietów oprogramowania, które często uruchamiają serwery internetowe localhost z tymczasowych powodów. Może to być na przykład przesyłanie tokena autoryzacji z logowania w przeglądarce do lokalnego pakietu oprogramowania. Jeśli jeden lokalny odbiornik
ustawi Strict-Transport-Security
w odpowiedzi localhost, zostanie on zastosowany do wszystkich kolejnych żądań localhost niezależnie od portu.
Chrome 132 rozwiązuje ten problem, ignorując nagłówki Strict-Transport-Security
w odpowiedziach z adresów URL localhost.
Informacje o błędzie 41251622 | Informacje na stronie ChromeStatus.com
Multimedia
Przechwyć wszystkie ekrany
Użyj getAllScreensMedia()
, aby uchwycić wszystkie ekrany połączone z urządzeniem.
Wywoływanie metody getDisplayMedia()
wiele razy wymaga od użytkownika wykonania wielu gestów, obciąża go koniecznością wybierania za każdym razem kolejnego ekranu i nie gwarantuje aplikacji, że wszystkie ekrany zostały wybrane. Metoda getAllScreensMedia()
poprawia wszystkie te aspekty.
Ta funkcja jest dostępna tylko na komputerach.
Dokument projektowy | Śledzenie błędu #40216442 | Wpis na stronie ChromeStatus.com | Specyfikacja
Element Capture
Film MediaStreamTrack
uzyskany za pomocą wcześniejszych metod inicjowania przechwytywania karty pozwala Element Capture na zmodyfikowanie ścieżki, aby przechwytywać tylko poddrzewo DOM, rozpoczynając od danego elementu.
Interfejs API jest podobny do interfejsu Region Capture API, ale zapewnia większą elastyczność dla aplikacji, ponieważ zasłonięte i zasłoniające treści są wykluczane z przechwycenia.
Demo | Śledzenie błędu #270230413 | Informacja na stronie ChromeStatus.com | Specyfikacja
Interfejsy API w internecie
PushMessageData::bytes()
Interfejs PushMessageData
naśladuje interfejs Body
, który został zmieniony w tym roku za pomocą nowej metody bytes()
zgodnie z zasadą, że interfejsy API powinny udostępniać bufory bajtów jako Uint8Arrays
. Chrome 132 ponownie dopasowuje się do interfejsu Body
, udostępniając w nim również akcesory bytes()
.PushMessageData
MDN PushMessageData: bytes() method | Śledzenie błędu #373336950 | Wpis na stronie ChromeStatus.com | Specyfikacja
Pojemniki z paskiem przewijania, które można zaznaczyć za pomocą klawiatury
Wdrożenie tej funkcji (od wersji Chrome 130) zostało wstrzymane z powodu regresji w zakresie ułatwień dostępu. Ten problem został rozwiązany i ta funkcja jest nadal wdrażana w Chrome 132.
Paski przewijania, które można zaznaczyć za pomocą klawiatury | Śledzenie błędu #40113891 | Wpis na stronie ChromeStatus.com | Specyfikacja
Interfejs Device Posture API
Ten interfejs API pomaga deweloperom wykrywać aktualną pozycję składanego urządzenia. Postawa urządzenia to pozycja, w której urządzenie jest trzymane. Może ona być określana na podstawie czujników, a także kąta.
Od zwiększania użyteczności witryny dzięki unikaniu obszaru złożenia po kartę po umożliwianiu innowacyjnych zastosowań w internecie – znajomość pozycji urządzenia może pomóc deweloperom dostosować treści do różnych urządzeń.
Treści mogą być przeglądane i odtwarzane nawet wtedy, gdy urządzenie nie jest płaskie. W takim przypadku deweloper może chcieć zastosować inny układ w zależności od pozycji, w której jest używane urządzenie.
Repo Git | Śledzenie błędu #40124716 | Wpis na stronie ChromeStatus.com | Specyfikacja
Zapisane zapytania w sharedStorage.selectURL
sharedStorage.selectURL()
umożliwia teraz zapisywanie zapytań i ich ponowne używanie na podstawie poszczególnych stron. Oznacza to, że 2 budżety na wczytanie strony są naliczane przy pierwszym uruchomieniu zapisanego zapytania, ale nie przy kolejnych jego wywołaniach podczas tego samego wczytywania strony. Aby to zrobić, w opcjach selectURL()
podaj parametr savedQuery
, który będzie nazwą zapytania.
Śledzenie błędu #367440966 | Wpis na stronie ChromeStatus.com | Spec
Domyślna lista dozwolonych adresów w zasadach dotyczących uprawnień interfejsu API tokena prywatności
Dostęp do interfejsu Private State Token API jest ograniczony przez funkcje zasad dotyczących uprawnień.
Chrome 132 aktualizuje domyślną listę dozwolonych funkcji private-state-token-issuance
i private-state-token-redemption
z self
na *
(symbol wieloznaczny).
Informacje na stronie ChromeStatus.com | Specyfikacja
Interfejsy API trybu FedCM i Use Other Account
2 nowe rozszerzenia dla FedCM:
- Tryb: tryb
active
pozwala witrynom wywoływać FedCM w ramach kliknięcia przycisku (np. kliknięcia przycisku Zaloguj się w dostawcy tożsamości), co wymaga od FedCM zapewnienia, że zawsze będzie ono odpowiadać widocznym interfejsem użytkownika. Wywołanie interfejsu FedCM API w trybie aktywnym powoduje, że użytkownicy logują się w dostawcy tożsamości (IdP), gdy są wylogowani. Ponadto tryb aktywny jest wywoływany w ramach wyraźnego gestu użytkownika, więc interfejs jest bardziej widoczny (np. wyśrodkowany i modalny) niż w trybie pasywnym (który nie wymaga gestu użytkownika i może być wywoływany podczas wczytywania strony). - Użyj innego konta: dzięki temu rozszerzeniu dostawca tożsamości może zezwolić użytkownikom na logowanie się na inne konta.
Demo | Śledzenie błędu #370694829 | Wpis na stronie ChromeStatus.com | Specyfikacja
Dostęp do systemu plików w przypadku Androida i WebView
Ten interfejs API umożliwia deweloperom tworzenie zaawansowanych aplikacji, które współpracują z innymi aplikacjami (nieinternetowymi) na urządzeniu użytkownika, korzystając z systemu plików urządzenia. Gdy użytkownik przyzna aplikacji internetowej dostęp, interfejs API pozwoli jej odczytać lub zapisać zmiany bezpośrednio w plikach i folderach wybranych przez użytkownika. Oprócz odczytywania i zapisywania plików interfejs API umożliwia otwieranie katalogów i wyliczanie ich zawartości, a także przechowywanie uchwytów plików i katalogów w IndexedDB, aby później uzyskać dostęp do tych samych treści.
Dostęp do systemu plików został wprowadzony w Chrome 86 na komputery, a w Chrome 132 jest dostępny na Androidzie i w WebView.
Interfejs API dostępu do systemu plików | Śledzenie błędu #40091667 | Wpis na stronie ChromeStatus.com | Specyfikacja
WebAuthn Signal API
Umożliwia stronom pobierającym usługi WebAuthn przekazywanie informacji o dotychczasowych danych logowania do dostawców usług przechowywania danych logowania, aby można było zaktualizować lub usunąć nieprawidłowe lub cofnięte dane logowania z dostawcy i interfejsu użytkownika systemu.
Dowiedz się więcej o interfejsie Signal API do obsługi kluczy dostępu na komputerach z Chrome.
Demo | Śledzenie błędu #361751877 | Informacja na stronie ChromeStatus.com | Specyfikacja
Renderowanie i grafika
WebGPU: mieszanie tekstur 32-bitowych zmiennoprzecinkowych
Funkcja GPU float32-blendable
umożliwia stosowanie mieszania tekstur GPU w formatach r32float
, rg32float
i rgba32float
.
Śledzenie błędu #369649348 | Wpis na stronie ChromeStatus.com | Specyfikacja
WebGPU: udostępnij GPUAdapterInfo
z GPUDevice
Atrybut GPUDevice adapterInfo
udostępnia te same GPUAdapterInfo
co obiekt GPUAdapter
.
Śledzenie błędu #376600838 | Wpis na stronie ChromeStatus.com | Specyfikacja
WebGPU: wykorzystanie widoku tekstury
Dodaje opcjonalne pole do tworzenia widoku tekstury WebGPU, aby zażądać podzbioru flag użycia z tekstury źródłowej.
Domyślnie użycie widoku tekstury dziedziczy użycie tekstury źródłowej, ale niektóre formaty widoku mogą być niezgodne z pełnym zestawem dziedziczonych zastosowań. Dodanie pola zastosowania do tworzenia widoku tekstury pozwala użytkownikowi poprosić o podzbiór zastosowań źródłowej tekstury, które są odpowiednie dla formatu widoku i odpowiadają zamierzonemu zastosowaniu widoku tekstury.
Implementacje WebGPU mogą też optymalizować tworzenie zasobów niskiego poziomu i poprawiać wydajność podczas korzystania z widoków z bardziej wyspecjalizowanymi flagami użycia.
Śledzenie błędu #363903526 | Wpis na stronie ChromeStatus.com | Specyfikacja
Wersje próbne Origin
Wyraźne wskazówki kompilacji za pomocą magicznych komentarzy
Ta funkcja umożliwia dołączenie informacji o tym, które funkcje powinny być analizowane i skompilowane w plikach JavaScript. Informacje zostaną zakodowane jako komentarze magiczne.
Testowanie wersji na stronie źródłowej | Omówienie | Śledzenie błędu #42203853 | Informacja na stronie ChromeStatus.com
Document-Isolation-Policy
Document-Isolation-Policy
pozwala dokumentowi włączyć crossOriginIsolation
dla siebie, bez konieczności wdrażania zasad COOP lub COEP i niezależnie od stanu crossOriginIsolation
strony. Zasady są obsługiwane przez izolację procesów. Dodatkowo zasoby podrzędne dokumentów z wielu źródeł, które nie obsługują CORS, będą wczytywane albo bez poświadczeń, albo z nagłówkiem CORP.
Testowanie wersji Origin | Śledzenie błędu #333029146 | Wpis na stronie ChromeStatus.com | Specyfikacja
wycofanie i usunięcie,
navigator.storage
nie jest już EventTarget
navigator.storage
został przekształcony w EventTarget
na potrzeby wydarzenia Storage Pressure Event, ale nigdy nie wyszedł poza fazę prototypu. Ten martwy kod jest usuwany. W efekcie navigator.storage
nie będzie już rozszerzać EventTarget
.
Informacje na stronie ChromeStatus.com | Specyfikacja
Usuwanie pełnoekranowych interfejsów API z prefiksem HTMLVideoElement
W Chrome wycofano pełnoekranowe interfejsy API z prefiksem HTMLVideoElement
.
Zostały one zastąpione interfejsem API Element.requestFullscreen()
, który został po raz pierwszy udostępniony w Chrome 71 w 2018 r. bez przedrostka. Od 2024 r. większość przeglądarek obsługuje interfejsy API bez prefiksów od kilku lat.
Chrome 132 usuwa z HTMLVideoElement
:
- Atrybut
webkitSupportsFullscreen
. - Atrybut
webkitDisplayingFullscreen
. - Metoda
webkitEnterFullscreen()
. - Metoda
webkitExitFullscreen()
. Zwróć uwagę na wielkość litery „S” w słowie „FullScreen”. - Metoda
webkitEnterFullScreen()
. - Metoda
webkitExitFullScreen()
.
Te metody są teraz tylko aliasami nowoczesnego interfejsu API. Ich wykorzystanie systematycznie spadało na przestrzeni lat.
Wpis na stronie ChromeStatus.com
Więcej informacji
Chcesz więcej? Zapoznaj się z dodatkowymi materiałami.
- Co nowego w Chrome 132
- Co nowego w Narzędziach deweloperskich w Chrome 132
- Aktualizacje ChromeStatus.com dotyczące Chrome 132
- Kalendarz wydań Chrome
- Nadchodzące wycofania
- Nadchodzące usunięcia