Опубликовано: 1 октября 2025 г.
Если не указано иное, эти изменения применяются к бета-версии Chrome 142 для Android, ChromeOS, Linux, macOS и Windows. Подробнее об этих функциях можно узнать по предоставленным ссылкам или на сайте ChromeStatus.com. Скачать бета-версию Chrome 142 можно с сайта Google.com для настольных компьютеров или из Google Play Store для Android.
CSS и UI
Псевдоклассы :target-before и :target-after
Эти псевдоклассы соответствуют маркерам прокрутки, расположенным до или после активного маркера (соответствующего :target-current ) в пределах одной группы маркеров прокрутки, определяемой порядком в плоском дереве:
-
:target-before: Соответствует всем маркерам прокрутки, предшествующим активному маркеру в порядке плоского дерева внутри группы. -
:target-after: Соответствует всем маркерам прокрутки, следующим за активным маркером в порядке плоского дерева внутри группы.
Абсолютное позиционирование для элемента ::view-transition
Переходы между представлениями используют псевдоподдерево элемента, при этом ::view-transition является корнем этого перехода. Ранее элементу ::view-transition присваивалось значение position: fixed . Рабочая группа CSS приняла решение изменить position: absolute и теперь Chrome отражает это изменение.
Это изменение не должно быть заметным, поскольку содержащий этот элемент блок остается блоком-снимком как в случае абсолютного, так и фиксированного стиля. Единственное заметное различие заключается в getComputedStyle .
свойство activeViewTransition у документа
API View Transitions позволяет разработчикам запускать визуальные переходы между различными состояниями. Основной точкой входа для SPA является startViewTransition() , который возвращает объект перехода. Этот объект содержит несколько промисов и функциональность для отслеживания прогресса перехода и позволяет управлять переходами, например, пропуская переход или изменяя его тип.
Начиная с Chrome 142, разработчикам больше не нужно хранить этот объект. Свойство document.activeViewTransition представляет этот объект или null , если переход не выполняется.
Это также относится к переходам MPA, где объект доступен только через события pageswap и pagereveal . В этом обновлении document.activeViewTransition устанавливается на этот объект на время перехода.
Синтаксис диапазона для запросов к контейнерам стилей и оператора if()
Chrome расширяет возможности CSS-запросов стилей и функции if() за счет добавления поддержки синтаксиса диапазонов.
Это расширяет возможности запросов стиля за пределы точного сопоставления значений (например, style(--theme: dark) ). Разработчики могут использовать операторы сравнения (такие как > и < ) для сравнения пользовательских свойств, литеральных значений (например, 10px или 25%) и значений из функций подстановки, таких как attr() и env() . Для корректного сравнения обе стороны должны соответствовать одному и тому же типу данных. Оно ограничено следующими числовыми типами: <length> , <number> , <percentage> , <angle> , <time> , <frequency> и <resolution> .
Примеры:
Сравните пользовательское свойство с буквальной длиной:
@container style(--inner-padding > 1em) {
.card {
border: 2px solid;
}
}
Сравните два буквальных значения.
@container style(1em < 20px) {
/* ... */
}
Использование диапазонов стилей в функции if() :
.item-grid {
background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}
Инициаторы интересов (атрибут interestfor )
Chrome добавляет атрибут interestfor к элементам <button> и <a> . Этот атрибут добавляет элементу поведение, связанное с проявлением интереса. Когда пользователь проявляет интерес к элементу, на целевом элементе запускаются действия, например, отображается всплывающее окно. Пользовательский агент определяет, когда пользователь проявляет интерес к элементу, с помощью таких методов, как наведение указателя мыши на элемент, нажатие специальных горячих клавиш на клавиатуре или длительное нажатие на элемент на сенсорных экранах. При проявлении или потере интереса на целевом элементе срабатывает событие InterestEvent , которое имеет действия по умолчанию для всплывающих окон, такие как отображение и скрытие всплывающего окна.
Свойство font-language-override
Chrome добавил поддержку свойства CSS ` font-language-override . Это свойство позволяет разработчикам переопределять системный язык, используемый для замены глифов OpenType, путем указания четырехсимвольного тега языка непосредственно в CSS.
Это обеспечивает точный типографический контроль, что особенно полезно для многоязычного контента или шрифтов с языковыми вариантами глифов.
Атрибут download в элементе SVG <a>
Chrome добавляет поддержку атрибута download в интерфейс SVGAElement , что соответствует спецификации SVG 2. Атрибут download позволяет разработчикам указывать, что загружается целевой объект гиперссылки SVG, а не происходит переход по ней. Это аналогично поведению, уже поддерживаемому в HTMLAnchorElement . Это способствует совместимости между основными браузерами и обеспечивает согласованное поведение между элементами <a> в HTML и SVG, а также улучшает опыт разработчиков и ожидания пользователей.
Одинаковый уровень отображения отдельных элементов для мобильных и настольных устройств.
Используя атрибуты size и multiple , элемент <select> может отображаться как список в формате ListBox или как кнопка с всплывающим окном. Однако эти режимы не всегда доступны на мобильных и настольных устройствах Chrome. Отображение списка в формате ListBox недоступно на мобильных устройствах, а кнопка с всплывающим окном недоступна на настольных компьютерах при наличии атрибута multiple .
Это обновление добавляет список выбора на мобильные устройства и всплывающее окно с множественным выбором на настольные компьютеры, а также гарантирует, что выбор size и multiple атрибутов будет отображаться в одном и том же режиме на мобильных и настольных устройствах. Изменения можно кратко описать следующим образом:
- Если значение атрибута
sizeбольше1, всегда используется отрисовка внутри страницы. Ранее мобильные устройства игнорировали это. - Если атрибут
multipleзадан без атрибутаsize, используется отрисовка на странице. Ранее на мобильных устройствах вместо списка (listbox) использовалось всплывающее окно. - Если атрибут
multipleзадан соsize=1, используется всплывающее окно. Ранее на настольных устройствах использовался список (listbox) на странице.
Привязка активации пользователя к навигации, инициируемой одним и тем же рендерером, при сохранении активности пользователя.
Chrome сохраняет состояние «липкой» активации пользователя после перехода на другую страницу того же источника. Отсутствие активации пользователя на странице после перехода препятствует некоторым вариантам использования, например, отображению виртуальных клавиатур при автоматической фокусировке. Это блокирует разработчиков, желающих создавать многофункциональные приложения (MPA) поверх одностраничных приложений (SPA).
Это не включает запросы на навигацию, инициированные браузером (перезагрузка страницы, навигация по истории, ввод URL-адреса в адресную строку и т. д.).
Веб-API
WebGPU: функция primitive_index
WebGPU добавляет новую необязательную возможность, которая предоставляет доступ к новой встроенной функции шейдеров WGSL — primitive_index . Она предоставляет индекс для каждого примитива фрагментным шейдерам на поддерживаемом оборудовании, аналогично встроенным функциям vertex_index и instance_index . Индекс примитива полезен для сложных графических методов, таких как виртуализированная геометрия.
WebGPU: Форматы текстур уровня 1 и уровня 2
Расширение поддержки форматов текстур для графического процессора за счет таких возможностей, как привязка рендеринга, смешивание, мультисэмплинг, разрешение и привязка хранилища.
Свойство DataTransfer для событий ввода insertFromPaste , insertFromDrop и insertReplacementText
Заполните свойство dataTransfer в событиях ввода значениями inputType со значениями insertFromPaste , insertFromDrop и insertReplacementText чтобы обеспечить доступ к буферу обмена и данным, передаваемым методом перетаскивания, во время операций редактирования в элементах contenteditable.
Объект dataTransfer содержит те же данные, которые были доступны во время события beforeinput .
Эта функция применяется только к элементам, допускающим редактирование содержимого. Для элементов управления формами (textarea , input ) поведение остается неизменным.
Это свойство обеспечивает совместимость Chrome с Safari и Firefox.
Медиа-сессия: добавьте причину в подробности действия enterpictureinpicture
Добавляет enterPictureInPictureReason к объекту MediaSessionActionDetails , отправляемому в действие enterpictureinpicture в API медиасессий. Это позволяет разработчикам различать действия enterpictureinpicture , запускаемые пользователем явно (например, кнопкой в пользовательском агенте), и действия enterpictureinpicture запускаемые автоматически пользовательским агентом из-за перекрытия контента.
контекстная предвзятость Web Spech API
Это обновление позволяет веб-сайтам поддерживать контекстную коррекцию при распознавании речи путем добавления списка фраз для распознавания в Web Speech API.
Разработчики могут предоставить список фраз и обновить его, чтобы применить к моделям распознавания речи смещение в пользу этих фраз. Это помогает повысить точность и релевантность для распознавания речи в конкретной предметной области и с учетом индивидуальных потребностей.
Более строгая проверка MIME-токена *+json для модулей JSON
Отклонять ответы скриптов модулей JSON, тип или подтип MIME-типа которых содержит не-HTTP-токены (например, пробелы), при совпадении с *+json . Это соответствует спецификации MIME Sniffing и другим механизмам. Это часть приоритетного направления модулей Interop2025.
FedCM — поддержка отображения источников iframe сторонних разработчиков в пользовательском интерфейсе.
До версии Chrome 142 FedCM всегда отображал сайт верхнего уровня в своем пользовательском интерфейсе.
Это хорошо работает, когда iframe концептуально является собственным (например, foo.com может иметь iframe foostatic.com , который не имеет смысла для пользователя).
Но если iframe на самом деле принадлежит стороннему разработчику, лучше указать его источник в пользовательском интерфейсе, чтобы пользователи лучше понимали, с кем они делятся своими учетными данными. Например, фоторедактор может быть встроен в веб-приложение для публикации книг и захотеть предоставить пользователям доступ к файлам, которые они ранее сохранили с помощью этого фоторедактора. Эта возможность теперь доступна.
Изоляция процессов с привязкой к источнику
Изменяет политику изоляции процессов с блокировки процессов на конкретном сайте (например, example.com ) на блокировку их на конкретном источнике (например, foo.example.com ).
Для дальнейшего повышения безопасности Chrome переходит к более детализированной модели изоляции процессов, называемой «изоляция источников». Ранее Chrome использовал «изоляцию сайтов», которая группировала различные источники с одного и того же сайта, например, a.example.com и b.example.com , в один процесс отрисовки.
Благодаря изоляции по источникам (Origin Isolation) каждый отдельный источник (например, https://foo.example.com ) изолируется в собственном процессе рендеринга. Это усиливает архитектуру безопасности Chrome, приводя границы процессов в соответствие с фундаментальной моделью безопасности веб-сайтов, основанной на источниках, и обеспечивая более надежную защиту от потенциальных уязвимостей внутри сайтов.
Взаимодействующие события pointerrawupdate доступны только в защищенных контекстах.
В 2020 году спецификация PointerEvents ограничила использование pointerrawupdate только защищенными контекстами, скрывая как само событие, так и глобальные обработчики событий от небезопасных контекстов. Благодаря этому обновлению Chrome соответствует обновленной спецификации и становится совместимым с другими основными браузерами.
Проводятся испытания происхождения.
В Chrome 142 вы можете принять участие в следующих новых пробных версиях Origin .
Учетные данные сеанса, привязанные к устройству
Способ, позволяющий веб-сайтам безопасно привязывать сессию к одному конкретному устройству.
Это позволяет серверам безопасно привязывать сессию к устройству. Браузер периодически обновляет сессию по запросу сервера, подтверждая наличие закрытого ключа.
Пул TCP-сокетов для каждого сайта верхнего уровня
В этом эксперименте оценивается влияние изменения размера пула TCP-сокетов для каждого профиля с 256 (по умолчанию) до 513 при одновременном добавлении ограничения в 256 для каждого сайта верхнего уровня (чтобы гарантировать, что ни одна из двух вкладок не сможет исчерпать пул). Была изучена возможность повышения лимита для каждого профиля до 512, и это не привело к негативным результатам. Ограничение в 256 для каждого сайта верхнего уровня равно лимиту по умолчанию для каждого профиля, поэтому оно не должно негативно повлиять на производительность. Эти ограничения устанавливаются независимо для пула WebSocket и обычного (HTTP) пула сокетов.
Цель состоит в том, чтобы начать этот эксперимент сразу же, если не возникнет никаких негативных последствий.