Chrome 130

Data wydania stabilnej wersji: 15 października 2024 r.

O ile nie zaznaczono inaczej, poniższe zmiany dotyczą wersji 130 Chrome na kanale stabilnym na Androida, ChromeOS, Linuxa, macOS i Windowsa.

CSS

Zapytania dotyczące kontenera CSS – proste wyszukiwanie drzewa

Specyfikacja zapytań dotyczących kontenera została zmieniona tak, aby wyszukać płaskie elementy nadrzędne drzewa. Ta zmiana ma znaczenie tylko w przypadku DOM-u cieniowanego, w którym element będzie teraz mógł widzieć beznazwane kontenery wewnątrz drzew cieniowanych, w których znajduje się element lub jeden z jego przodków, nawet jeśli reguła CSS nie używa ::part() ani ::slotted().

Śledzenie błędu #340876720 | Wpis na stronie ChromeStatus.com | Specyfikacja

Zagnieżdżanie kodu CSS: reguła dotycząca zagnieżdżonych deklaracji

Zachowuje deklaracje bez nazwy po regułach zagnieżdżonych, umieszczając je w regułach CSSNestedDeclarations podczas analizowania.

Ulepszenie zagnieżdżania kodu CSS dzięki elementom CSSNestedDeclarations | Wpis na stronie ChromeStatus.com

Pełna obsługa box-decoration-break bez prefiksu

Dodano obsługę box-decoration-break: clone zarówno w przypadku podziału wbudowanego (układ wierszowy), jak i podziału blokowego (podział na strony w przypadku drukowania i wielu kolumn).

Wcześniej w Chrome do fragmentacji bloków obsługiwana była tylko wartość box-decoration-break:slice (wartość początkowa), natomiast do fragmentacji w wierszu obsługiwana była wartość box-decoration-break:clone, ale tylko przy użyciu właściwości z prefiksem -webkit-box-decoration-break.

Właściwość box-decoration-break w Chrome 130 | Śledzenie błędu #41295617 | Wpis na stronie ChromeStatus.com | Specyfikacja

Zezwalanie na więcej pseudoelementów i pseudoklas po ::part()

Selektory CSS, które używają pseudoelementu ::part(), mogą mieć po nich inne pseudoelementy CSS (z wyjątkiem ::part()) oraz wiele typów innych pseudoklas CSS. Po ::part() nadal nie można używać kombinatorów, a pseudoklasy zależne od struktury drzewa są niedozwolone.

Wcześniej Chrome zezwalał na użycie tylko ograniczonego zestawu pseudoklas i pseudoelementów po ::part(). Ta zmiana zezwala na wszystkie pseudoklasy i pseudoelementy, które powinny być dozwolone. Oznacza to, że selektory takie jak ::part(part-name):enabled::part(part-name)::marker są teraz dozwolone.

Śledzenie błędu #40623497 | Wpis na stronie ChromeStatus.com | Specyfikacja

Interfejsy Web API

Transport słownika kompresji z udostępnionym Brotli i udostępnionym Zstandard

Ta funkcja dodaje obsługę używania wybranych poprzednich odpowiedzi jako słownika zewnętrznego do kodowania treści i kompresji odpowiedzi za pomocą Brotli lub Zstandard.

Firmy mogą napotkać potencjalne problemy ze zgodnością z infrastrukturą sieciową firmy, która przechwytuje ruch HTTPS i reaguje na nieznane kodowanie treści. Aby wyłączyć funkcję transportu słownika kompresji, możesz użyć zasady przedsiębiorstwa CompressionDictionaryTransportEnabled.

Śledzenie błędu #40255884 | Wpis na stronie ChromeStatus.com | Specyfikacja

Równoległe wygładzanie scrollIntoView()

Metoda scrollIntoView()behavior: "smooth" umożliwia tworzenie kontenerów przewijania, które przewijają się do swoich potomków za pomocą łagodnej animacji przewijania. Ta funkcja poprawia implementację interfejsu API w Chrome, dzięki czemu trwające animacje scrollIntoView nie są anulowane przez niepowiązane przewijanie w innych kontenerach przewijania.

Ta funkcja rozwiązuje też problemy, które występują, gdy Chrome nie może przewinąć do fragmentu kotwicy na stronie z powodu konkurencyjnego elementu scrollIntoView, który jest wywoływany podczas wczytywania strony.

Demonstracja | Błąd śledzenia #325081538 | Wpis ChromeStatus.com | Specyfikacja

Dokumentacja obrazu w oknie: dodanie opcji ignorowania pamięci podręcznej ograniczeń okna

Do interfejsu document picture-in-picture API zostanie dodany nowy parametr (preferInitialWindowPlacement), który po ustawieniu na wartość true zasugeruje przeglądarce, że nie powinna ponownie używać pozycji ani rozmiaru poprzedniego dokumentu picture-in-picture z tej witryny podczas otwierania tej witryny.

Okno obrazu w obrazie dokumentu często zamyka się i otwiera ponownie kilka razy w przypadku tej samej witryny, np. podczas przenoszenia konferencji wideo do obrazu w obrazie i z niego. Przeglądarka może ponownie otworzyć okno PiP w ostatnim rozmiarze i miejscu, aby pozostało ono w miejscu, w którym użytkownik je ostatnio przeniósł, i aby zapewnić ciągłość między oknami PiP. Jeśli jednak nowe okno nie ma nic wspólnego z poprzednim, np. jest to nowe połączenie wideo, możesz użyć tego parametru, aby przekazać przeglądarce użytkownika podpowiedź, że okno powinno zostać otwarte w domyślnej pozycji i rozmiarze.

Dowiedz się, jak otworzyć okno w domyślnym położeniu i rozmiarze.

Obraz w obrazie dla każdego elementu, a nie tylko wideo | Wpis na stronie ChromeStatus.com | Specyfikacja

Ulepszone raportowanie błędów w IndexedDB w przypadku niepowodzenia odczytu dużych wartości

Zmiana w raportowaniu w przypadku niektórych błędów, które były wcześniej zgłaszane przy użyciu parametru DOMException i komunikatu „Nie udało się odczytać dużej wartości IndexedDB”.

Chrome wywołuje teraz zdarzenie DOMException o nazwie "NotFoundError", gdy na dysku brakuje pliku z danymi odczytywanymi przez IDBRequest. Dzięki temu witryny mogą podjąć odpowiednie działania naprawcze, gdy wystąpi nieodwracalne niepowodzenie. Działania naprawcze mogą obejmować usunięcie wpisu z bazy danych, powiadomienie użytkownika lub ponowne pobranie danych z serwerów.

Śledzenie błędu #362123231 | Wpis ChromeStatus.com | Specyfikacja

Kontenery z paskami przewijania, które można zaznaczyć za pomocą klawiatury

Dzięki tej funkcji suwaki bez elementów podrzędnych, które można zaznaczyć, są domyślnie możliwe do zaznaczenia za pomocą klawiatury.

To ważne ulepszenie, dzięki któremu osoby przewijające i treści w nich będą bardziej dostępne dla wszystkich użytkowników. Więcej informacji o jej zaletach znajdziesz w artykule Przewijane treści, które można zaznaczyć za pomocą klawiatury. Od wersji Chrome 130 elementy przewijające, które można zaznaczyć za pomocą klawiatury, będą domyślnie włączone. Jeśli witryny potrzebują czasu na dostosowanie się do tej nowej funkcji, masz kilka opcji:

Przewijane elementy, które można zaznaczyć za pomocą klawiatury | Błąd śledzenia nr 40113891 | Wpis ChromeStatus.com | Specyfikacja

Usługi określania stawek i usługi aukcyjne Protected Audience

Interfejs Protected Audience API (wcześniej FLEDGE) to propozycja Piaskownicy prywatności dotycząca remarketingu i niestandardowych grup odbiorców. Ma ona na celu uniemożliwienie stronom trzecim śledzenia zachowań użytkowników w różnych witrynach.

Ta funkcja, określanie stawek i usługi aukcyjne w ramach Protected Audience API, umożliwia przeprowadzanie obliczeń w ramach Protected Audience API na serwerach w chmurze w zaufanym środowisku wykonawczym, a nie lokalnie na urządzeniu użytkownika. Przeniesienie obliczeń na serwery w chmurze może pomóc w optymalizacji aukcji chronionych odbiorców, aby zwolnić cykle obliczeniowe i przepustowość sieci na urządzeniu.

Informacje na stronie ChromeStatus.com | Specyfikacja

Obsługa adresów URL z niespecjalnym schematem

Wcześniej parsujący adresy URL mechanizm Chrome nie obsługiwał adresów URL innych niż specjalne. Parsował on adresy URL inne niż specjalne tak, jakby miały „nieprzezroczystą ścieżkę”, co nie jest zgodne ze standardem adresów URL. Teraz analizator adresów URL w Chromium poprawnie analizuje adresy URL, które nie są adresami specjalnymi, zgodnie ze standardem adresów URL.

Obsługa adresów URL innych niż specjalne schematy | Błąd śledzenia #40063064 | Wpis ChromeStatus.com | Specyfikacja

Wbudowane ciągi znaków JavaScriptu w WebAssembly

Ta funkcja udostępnia typowe operacje na ciągach znaków JavaScript przy importowaniu do WebAssembly. Dzięki temu możesz tworzyć ciągi znaków JavaScript z WebAssembly i nimi manipulować bez obsługi w WebAssembly. Nadal zapewnia to podobną wydajność jak w przypadku obsługiwanych odwołań do ciągów znaków.

Informacje na stronie ChromeStatus.com | Specyfikacja

Web Serial: atrybuty connected i zdarzenia związane z połączeniem RFCOMM

Ta funkcja dodaje logiczny atrybut SerialPort.connected. Atrybut zwraca true, jeśli port szeregowy jest logicznie połączony. W przypadku przewodowych portów szeregowych port jest logicznie połączony, jeśli jest fizycznie podłączony do systemu. W przypadku bezprzewodowych portów szeregowych port jest logicznie połączony, jeśli urządzenie hostujące port ma otwarte połączenia z hostem.

Wcześniej zdarzenia podłączania i rozłączania były wysyłane tylko przez przewodowe porty szeregowe. Dzięki tej funkcji porty szeregowe Bluetooth RFCOMM będą wysyłać te zdarzenia, gdy port zostanie logicznie połączony lub rozłączony.

Ta funkcja umożliwia aplikacjom wykrywanie, kiedy port szeregowy Bluetooth RFCOMM jest dostępny bez otwierania portu.

Więcej informacji znajdziesz w artykule Bluetooth RFCOMM updates in Web Serial (w języku angielskim).

Aktualizacje Bluetooth RFCOMM w Web Serial | Śledzenie błędu #40283485 | Wpis na stronie ChromeStatus.com | Specyfikacja

Renderowanie i grafika

WebGPU: łączenie dwóch źródeł

Dodaje opcjonalną funkcję GPU „podwójne mieszanie źródła”, która umożliwia połączenie 2 wyjściów do cieniowania fragmentów w jednym buforze klatek. Ta metoda jest szczególnie przydatna w aplikacjach wymagających złożonych operacji mieszania, np. opartych na trybach mieszania Porter-Duff. Dzięki temu, że nie trzeba często zmieniać obiektów stanu potoku, łączenie danych z dwóch źródeł może poprawić wydajność i elastyczność.

Śledzenie błędu #341973423 | Wpis na stronie ChromeStatus.com | Specyfikacja

Prywatność

Funkcja Attribution Reporting API (zakres atrybucji)

Ta zmiana jest podyktowana opiniami dotyczącymi technologii reklamowych i potrzebą bardziej szczegółowego filtrowania przed rozpoczęciem procesu atrybucji. Pozwala ona wywołującym interfejs API określić pole o nazwie „zakres atrybucji”, które będzie używane do filtrowania przed rozpoczęciem zwykłego przepływu atrybucji. Dzięki temu osoby wywołujące interfejs API mają większą kontrolę nad szczegółowością atrybucji i mogą otrzymywać odpowiednie raporty atrybucji, gdy wielu różnych reklamodawców lub kampanii realizuje konwersje w tej samej witrynie docelowej.

Informacja na stronie ChromeStatus.com

Funkcja interfejsu Attribution Reporting API (ulepszona ochrona prywatności klucza debugowania)

Ta zmiana pomaga ograniczyć potencjalne naruszenie prywatności za pomocą kluczy debugowania.

Obecnie interfejs API umożliwia określenie klucza debugowania źródła lub klucza debugowania wywołania, jeśli pliki cookie innych firm są dostępne i mogą być ustawiane przez wywołujących interfejs API. Jeśli zostanie podany klucz debugowania źródła lub reguły, zostanie on uwzględniony w raporcie atrybucji. Może to spowodować wyciek danych, jeśli pliki cookie innych firm są dozwolone tylko w witrynie wydawcy lub reklamodawcy, ale nie w obu.

Ta zmiana ogranicza ten problem, ponieważ klucze debugowania źródła i klucze debugowania wyzwalacza są uwzględniane w raporcie atrybucji tylko wtedy, gdy występują zarówno w źródle, jak i w wyzwalaczu. Oznacza to, że pliki cookie innych firm są dostępne zarówno w witrynie wydawcy, jak i w witrynie reklamodawcy. Ta zmiana będzie dotyczyć zarówno raportów na poziomie zdarzenia, jak i raportów podlegających agregacji.

Informacje na stronie ChromeStatus.com | Specyfikacja

Wersje próbne Origin

Interfejs Language Detector API

Interfejs JavaScript API do wykrywania języka, w jakim napisano tekst, z poziomami ufności.

Testowanie wersji Origin | Interfejs Language detection API dostępny w ramach wczesnej wersji zapoznawczej | Wpis na stronie ChromeStatus.com | Specyfikacja

WebAuthn attestationFormats

Obsługa pola attestationFormats z poziomu 3 WebAuthn.

WebAuthn Level 3 obsługuje witrynę, która w nowym polu attestationFormats podaje preferowane formaty uwierzytelniania. Ta funkcja umożliwia obsługę tego na Androidzie, gdzie dostawcy kluczy dostępu mogą obsługiwać wiele formatów.

Origin Trial | Informacje na stronie ChromeStatus.com | Specyfikacja

Wycofanie i usunięcie

Usuń expectedImprovement w DelegatedInkTrailPresenter

Atrybut expectedImprovement informuje programistów stron internetowych, o ile interfejs DelegatedInkTrails API poprawi ich obecne opóźnienie Ink. Jednak ten atrybut nie jest wart zwiększenia entropii odcisku palca.

Informacje na stronie ChromeStatus.com | Specyfikacja

Więcej informacji

Chcesz więcej? Zapoznaj się z dodatkowymi materiałami.

Pobierz Google Chrome

Pobierz Chrome na Androida, komputer lub iOS.