Chrome 125

Data wydania wersji stabilnej: 14 maja 2024 r.

O ile nie zaznaczono inaczej, te zmiany dotyczą stabilnej wersji Chrome 125 wersję na Androida, ChromeOS, Linuxa, macOS i Windowsa.

HTML i DOM

Deklaratywna serializacja shadow DOM

Funkcja umożliwiająca deweloperom serializację drzew DOM zawierających korzenie cienia, które zostały niedawno znormalizowane w standardzie HTML.

Śledzenie błędu nr 41490936 | Wpis na temat ChromeStatus.com | Dane techniczne

CSS

Umiejscowienie kotwicy w kodzie CSS

Pozycjonowanie zakotwiczonych CSS pozwala deweloperom tetheringować element umieszczony w absolutnie pozycji. do jednego lub kilku innych elementów na stronie (reklam zakotwiczonych) w sposób deklaratywny; bez konieczności użycia JavaScriptu. Pozycjonowanie zakotwiczonych reklam działa wydajnie, gdy można przewijać. Typowym zastosowaniem jest umieszczanie wyskakujących okienek, takich jak tekst pomocniczy, obok elementu, który je wywołał, lub menu wyboru i wyskakującej listy opcji. Przed użyciem funkcji pozycjonowania zakotwiczonych te przypadki użycia są wymagane. aby dynamicznie pozycjonować wyskakujące okienko i pozostawić je zakotwiczone jako przewinięto element wywołujący, który jest pistoletem sportowym i trudnym do w porządku. Dzięki pozycjonowaniu zakotwiczonych te przypadki użycia można wdrożyć wydajnie i deklaratywnie.

Funkcja pozycjonowania za pomocą kotwic składa się z dużej liczby właściwości CSS. Oto kilka najważniejszych właściwości:

  • anchor-name: konfigurowanie elementu jako kotwicy dla innych elementów.
  • position-anchor: opisuje „domyślną” kotwicę, której element kotwiczony powinien używać do pozycjonowania kotwicy.
  • Funkcja anchor(): używana w odniesieniu do pozycji reklamy zakotwiczonej podczas określania pozycji zakotwiczonego elementu.
  • inset-area: skrót do pozycjonowania oznaczający typowe pozycje względne.

Wprowadzenie interfejsu API do pozycjonowania kotwic CSS | Śledzenie błędu #40059176 | Wpis na stronie ChromeStatus.com | Specyfikacja

Funkcje wartości skokowej CSS: round(), mod() i rem()

Funkcje wartości schodkowej round() mod() i rem(), wszystkie przekształcają określoną wartość zgodnie z inną „wartością kroku”.

Funkcja CSS round() zwraca zaokrągloną liczbę na podstawie wybranego zaokrąglenia strategii ustalania stawek.

Funkcja CSS mod() zwraca moduł pozostałego dla pierwszego parametru podzieloną przez drugi parametr, podobnie jak w operatorze reszty JavaScriptu (%). Moduł to wartość pozostała, gdy jeden operand, dywidenda, jest podzielone przez drugi operand, dzielnik. Zawsze przyjmuje znak dzielnika.

Funkcja CSS rem() zwraca resztę pozostawioną po dodaniu pierwszego parametru jest dzielony przez drugi parametr, podobnie jak w operatorze reszty JavaScriptu (%). Reszta to wartość pozostała, gdy jeden operand, dzielna, jest podzielone przez drugi operand, dzielnik. Zawsze bierzemy pod uwagę dywidenda.

Śledzenie błędu nr 40253179 | Wpis na temat ChromeStatus.com | Dane techniczne

Nowa składnia niestandardowej składni CSS :state()

Niestandardowy stan CSS umożliwia elementom niestandardowym wyświetlanie własnych pseudoklas. została określona w CSSWG, a Chrome 125 obsługuje składnię :state(foo). Ta zmiana będzie mieć okno, w którym Chrome będzie obsługiwać zarówno starą składnię (:--foo), jak i nową, więc witryny możesz przełączyć się na nowy.

Informacje na stronie ChromeStatus.com | Specyfikacja

Usuwanie przerw w przypadku kolorów Oklab i Oklch o jasności prawie 100% lub 0

Przed tą zmianą wszystkie kolory Lab, LCH, Oklab i Oklch o wartości jasności równej 100% były renderowane jako białe, niezależnie od pozostałych dwóch parametrów. Wszystkie kolory w tych przestrzeniach o wartości jasności 0 zostały wyświetlone jako czarne. Te 2 mapowania spowodowały nieciągłości w gradientach i nie pojawiały się w internecie dla programistów.

Po wycofaniu te kolory nie są już sztucznie mapowane, a wyświetlany kolor będzie ciągły z sąsiednimi kolorami i zależy od odwzorowanie gamy wyświetlacza.

Wpis na temat ChromeStatus.com | Dane techniczne .

Używane suwaki w głównym schemacie kolorów

Sprawia, że przeglądarka używa schematu kolorów użytkownika do renderowania widocznego obszaru paski przewijania, jeśli wartość „schematów kolorów strony” jest „normalne” czy nie i obliczoną wartość color-scheme dla elementu głównego to normal. Suwaki w widocznym obszarze można uznać za znajdujące się poza treścią strony. Dlatego klienty użytkownika powinny uwzględniać preferowany schemat kolorów do renderowania pasków przewijania widocznego obszaru, jeśli programista nie określono wyraźnie obsługi schematów kolorów.

Ta zmiana nie uniemożliwia deweloperom kontrolowania schematu kolorów suwaków. Nowe zachowanie sprawia, że przeglądarka używa preferowanego przez użytkownika schematu kolorów do renderowania suwaków w obszarze widoku bez nakładki tylko wtedy, gdy deweloper nie określił schematu kolorów dla elementu ukorzenia.

title [tytuł] | Śledzenie błędu nr 40259909 | Wpis na temat ChromeStatus.com | Dane techniczne

Zajęcia view-transitions

Dostępna jest nowa właściwość CSS view-transition-class, która umożliwia określ co najmniej 1 klasę przejść między widokami. Następnie możesz wybrać ViewTransition pseudoelementów korzystających z tych klas, np. ::view-transition-group(*.class)

To jest rozszerzenie interfejsu ViewTransfer API. upraszcza styl pseudoelementów przejścia widoku, w podobny sposób. że klasy CSS ułatwiają określanie stylu zwykłych elementów DOM.

Informacje o błędzie #41492972 | Informacje na stronie ChromeStatus.com | Specyfikacja

Wczytuję

Akceptowanie adresów URL HTTP i HTTPS podczas tworzenia WebSocket

Ta aktualizacja włącza schematy HTTP i HTTPS w konstruktorze WebSocket, w ten sposób pozwalają też programistom używać względnych adresów URL. Są one znormalizowane do schematów wewnętrznych ws: i wss:.

Śledzenie błędu nr 325979102 | Wpis na temat ChromeStatus.com | Dane techniczne

Interfejsy Web API

Dodatki do Attribution Reporting API

Do interfejsu Attribution Reporting API dodaliśmy funkcje, które umożliwiają dodatkowe możliwości debugowania dzięki obsłudze raportów debugowania błędów parsowania, poprawiają ergonomię interfejsu API dzięki obsłudze pola umożliwiającego określenie preferowanej platformy rejestracji oraz zwiększają ochronę prywatności.

Wpis na temat ChromeStatus.com

Interfejs Compute Pressure API

Interfejs Compute Pressure API stany wysokiego poziomu reprezentujące obciążenie procesora w systemie. Umożliwia to implementacji korzystanie z odpowiednich danych o sprzęcie, aby użytkownicy mogli korzystać z całej dostępnej mocy obliczeniowej, dopóki system nie będzie narażony na niekontrolowany stres.

Firma Intel kierowała pracami nad projektem i wdrożeniem tego interfejsu API, który pozwoli aplikacjom do rozmów wideo na dynamiczne dostosowanie funkcji i wydajności.

Interfejs Compute Pressure API | Śledzenie błędu nr 40683064 | Wpis na temat ChromeStatus.com | Dane techniczne

Spowoduje to uruchomienie proponowanego rozszerzenia interfejsu Storage Access API (wstecz zgodny i był w fazie testowania origin), aby umożliwić dostęp do niepartycjonowanych plików cookie i przechowywanie danych poza plikami cookie w kontekście rozwiązań zewnętrznych. Obecny interfejs API zapewnia tylko które mają inne zastosowania niż pliki cookie.

Śledzenie błędu #40282415 | Informacja na stronie ChromeStatus.com | Specyfikacja

Wymagania dotyczące CORS w przypadku punktu końcowego stwierdzenia tożsamości w ramach FedCM

Pobieranie danych w interfejsie FedCM API jest trudne do rozumowania ze względu na właściwości. których brakuje. Trwają dyskusje na temat kont. panuje też konsensus, że punkt końcowy potwierdzenia identyfikatora powinien użyj CORS. Ta aktualizacja dopasowuje właściwości zabezpieczeń tego pobierania do innych pobierania na platformie internetowej.

Aktualizacje FedCM: testowanie origin interfejsu Button Mode API, CORS i SameSite | Śledzenie błędu nr 40284123 | Wpis na temat ChromeStatus.com

FedCM wysyła teraz żądania potwierdzenia tożsamości z użyciem CORS. Ta zmiana oznacza, że Chrome nie będzie już wysyłać plików cookie SameSite=Strict do punktu końcowego oświadczenia o tożsamości, ale nadal będzie wysyłać pliki cookie SameSite=None. Nie ma sensu wysyłanie różnych zestawów plików cookie do punktu końcowego kont i punktu końcowego oświadczenia o tożsamości, więc ta zmiana zapewnia spójność.

Niewysyłanie plików cookie SameSite=Strict jest też zgodne z Działanie usługi requestStorageAccess i żądaniach z różnych witryn.

Śledzenie błędu nr 329145816 | Wpis na temat ChromeStatus.com | Dane techniczne

Domyślne działanie polegające na przesuwaniu myszą

Chrome zezwala na anulowanie zdarzeń mousemove, aby zapobiegać działaniu innych interfejsów API, takich jak zaznaczenie tekstu (a w przeszłości nawet przeciąganie i upuszczanie). Nie jest to zgodne z innymi głównymi przeglądarkami ani ze specyfikacją zdarzeń interfejsu użytkownika. Teraz domyślnym działaniem po kliknięciu myszy nie będzie już zaznaczanie tekstu. Zaznaczanie tekstu oraz przeciąganie i upuszczanie można nadal zostanie zablokowana przez anulowanie wydarzeń selectstart i dragstart .

Ta funkcja będzie wdrażana stopniowo, począwszy od Chrome 125 i oczekuje będzie dostępna dla wszystkich użytkowników w Chrome 126.

Demonstracja | Śledzenie błędu nr 40078978 | Wpis na temat ChromeStatus.com | Dane techniczne

Modyfikatory wyrażeń regularnych

Modyfikatory wyrażeń regularnych umożliwiają modyfikowanie lokalnie tych parametrów: i, m, i s' flagi wewnątrz wzorów.

Aby włączyć flagę wyrażenia podrzędnego, użyj (?X:subexpr), gdzie X jest jednym z i, m lub s. Aby wyłączyć oznaczenie podwyrazu, użyj (-X:subexpr).

Na przykład w przypadku flagi i bez rozróżniania wielkości liter:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

ChromeStatus.com entry | Spec

Wyrażenie regularne z duplikatowymi nazwanymi grupami przechwytywania

Zduplikowanie nazwanych grup przechwytywania pozwala użyć tej samej nazwy grupy przechwytywania między alternatywnymi rozwiązaniami. Przykład

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

W tym przypadku year jest prawidłowe dla pierwszej alternatywy ((?<year>[0-9]{4})-[0-9]{2}) lub drugiej alternatywy ([0-9]{2}-(?<year>[0-9]{4})).

ChromeStatus.com entry | Spec

Aplikacje Chrome

Interfejs Direct Sockets API w aplikacjach Chrome

Ta aktualizacja ułatwia przejście ze specjalistycznych aplikacji na aplikacje izolowane, ponieważ umożliwia w aplikacji Chrome włączenie bezpośrednich gniazd (Direct Sockets) i uzyskiwanie przez aplikacje internetowe dostępu do urządzeń sieciowych i systemów za pomocą protokołów TCP i UDP.

Wpis na temat ChromeStatus.com | Dane techniczne .

Nowe wersje próbne origin

Interfejsy Button Mode API i Use Other Account API w FedCM

Ta wersja testowa origin obejmuje 2 poniższe interfejsy API FedCM.

Interfejs Button Mode API umożliwia witrynom wywoływanie FedCM jednym kliknięciem przycisku, na przykład: klikając przycisk Sign-in to IdP (Zaloguj się w dostawcy tożsamości). Wymaga to, aby FedCM zawsze odpowiadał widocznym interfejsem użytkownika, w przeciwieństwie do trybu widżetu, który nie wyświetla interfejsu po wylogowaniu użytkowników. Wywołuję interfejs FedCM API w button mode (tryb przycisku) umożliwia użytkownikom zalogowanie się u dostawcy tożsamości (w oknie dialogowym), gdy użytkownicy są wylogowani.

Poza tym tryb przycisku jest wywoływany w treściach dla określonych użytkowników. gest, interfejs może być też lepiej widoczny (np. wyśrodkowany lub modalny) w porównaniu z interfejsem w trybie widżetu (w którym nie ma intencji). Dowiedz się więcej o tym, jak działa interfejs Button Mode API w artykule Nowe funkcje w FedCM: testowanie pochodzenia interfejsu Button Mode API, CORS i SameSite.

Interfejs Use Other Account API umożliwia dostawcy tożsamości zezwolenie użytkownikom na logowanie się na inne konta.

Origin Trial | Demo | Śledzenie błędu #40284792 | Informacje na stronie ChromeStatus.com | Specyfikacja

Złożone interfejsy API

Testowanie origin interfejsu Device Posture API i interfejsu Enumeration API dotyczącego segmentów widoku Te interfejsy API zostały stworzone, aby pomóc deweloperom w kierowaniu aplikacji na urządzenia składane.

Testowanie wersji Origin | Testowanie wersji Origin dla interfejsów API urządzeń składanych | Wpis na stronie ChromeStatus.com | Specyfikacja

Próba wycofania w przypadku właściwości i metod pełnego ekranu HTMLVideoElement z prefiksem

Ten okres próbny wycofywania umożliwia przywrócenie obsługi właściwości i metod z prefixem HTMLVideoElement, jeśli potrzebujesz więcej czasu na dostosowanie kodu.

Wersja próbna origin | Wpis na temat ChromeStatus.com .

Pomiń skanowanie wstępne

Omija skaner wstępnego załadowania, aby sprawdzić kompromisy dotyczące wydajności w przypadku stron bez pobierania podzasobów.

Krok skanera wstępnego wczytywania poprawia wydajność stron z zasobem podrzędnym przez implementowanie spekulacyjnego pobierania z wyprzedzeniem. Jednak w przypadku stron, które nie korzystają z tego kroku, czyli stron bez podzasobów, jest to dodatkowy nakład przetwarzania przy niewielkiej korzyści.

Zaawansowani użytkownicy internetu, którzy chcieliby skorzystać na obniżeniu tego narzutu, mogą funkcja eksperymentalna udostępnia opcję na poziomie strony, która umożliwia wyłączenie skanera wstępnego wczytywania. Dane zebrane w ramach tego eksperymentu mogą ocenić, czy zmodyfikowany interfejs API lub inny skorzystaj ze skanera wstępnego wczytywania HTML.

Wersja próbna origin | Śledzenie błędu nr 330802493 | Wpis na temat ChromeStatus.com | Dane techniczne

Wycofanie i usunięcie

Usuń parametr „window-placement” alias uprawnień i zasad uprawnień „window-management”

Usuwa parametr „window-placement”. alias zasad dotyczących uprawnień i uprawnień „window-management”. Jest to część działań, które mają na celu zmianę nazw ciągów w końcu wycofaliśmy i usunęliśmy element „window-placement”. Zmiana terminologii zwiększa trwałość deskryptora, ponieważ Interfejs API zarządzania stale się rozwija.

title [tytuł] | Śledzenie błędu nr 40842072 | Wpis na temat ChromeStatus.com | Dane techniczne

Usuwanie zasady Enterprise: NewBaseUrlInheritanceBehaviorAllowed

Zmiana kodu (włączanie nowego zachowania dziedziczenia adresu URL podstawowego), którą zastępuje ta zasada dla firm, została włączona w wersjach stabilnych od sierpnia 2023 r. (Chrome 118). Ponieważ znane problemy zostały rozwiązane, ta zasada dla firm została usunięta w Chrome 125.

Informacja na stronie ChromeStatus.com

Usuwanie właściwości i metod pełnego ekranu HTMLVideoElement z prefiksem

Pełnoekranowe interfejsy API z prefiksem HTMLVideoElement zostały wycofane w wersji Chrome 38. Zostały one zastąpione przez Element.requestFullscreen(), które po raz pierwszy pojawiły się w 2018 roku w Chrome 71 bez prefiksu.

Następujące właściwości i metody zostaną usunięte z elementu HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (zwróć uwagę na inną wielkość liter w FullScreen)
  • webkitExitFullScreen()

Jeśli Twoja witryna nadal korzysta z tych funkcji i potrzebujesz więcej czasu na zaktualizowanie kodu, zarejestruj się w okresie próbnym przed wycofaniem wymienionym w tym poście.

Wpis na temat ChromeStatus.com

Więcej informacji

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

Pobierz Google Chrome

Pobierz Chrome na Androida, komputer lub iOS.