Chrome 148 бета

Опубликовано: 8 апреля 2026 г.

Если не указано иное, следующие изменения относятся к последней версии бета-версии Chrome для Android, ChromeOS, Linux, macOS и Windows. Подробнее об этих функциях можно узнать, используя предоставленные ссылки или посетив сайт ChromeStatus.com. На момент выпуска Chrome находится в бета-версии. Вы можете загрузить последнюю бета-версию с сайта Google.com для настольных компьютеров или из Google Play Store для Android.

CSS и UI

Запросы контейнеров, содержащие только имя, в CSS

Теперь вы можете запрашивать информацию о CSS-контейнере, основываясь только на его container-name , без указания container-type для элемента.

#container {
  container-name: --foo;
}
@container --foo {
  input { background-color: green; }
}
<div id="container">
  <div><input></div>
</div>

При взаимодействии пользователя текст перекрывается.

Когда пользователь взаимодействует (например, редактируя текст или используя навигацию с помощью курсора) с текстом, у которого установлено text-overflow: ellipsis , текст временно переключается с многоточия на обрезание. Это позволяет пользователю видеть и взаимодействовать со скрытым содержимым, находящимся вне поля ввода. Эта функция применяется ко всем редактируемым и нередактируемым элементам. Для элементов управления форм, таких как <textarea> и <input> , это поведение уже поддерживается.

Правильно установите dropEffect для событий dragEnter , dragLeave и dragOver

В соответствии со спецификациями перетаскивания, атрибут dropEffect объекта dataTransfer должен иметь определенные предопределенные значения для dragEnter , dragOver и dragLeave . dragEnter и dragOver должны соответствовать текущему dropEffect effectAllowed . dragLeave всегда должно быть dropEffect none . В настоящее время Chrome не придерживается этих правил. Начиная с Chrome 148, Chrome будет соблюдать спецификацию и присваивать этому атрибуту правильные значения.

Ленивая загрузка видео- и аудиоэлементов

Эта функция добавляет атрибут loading к элементам <video> и <audio> . Это позволяет разработчикам откладывать загрузку медиаресурсов до тех пор, пока элемент не окажется вблизи области просмотра, используя loading="lazy" . Это соответствует существующему поведению отложенной загрузки для элементов <img> и <iframe> , что повышает производительность загрузки страницы и снижает потребление данных.

Функция CSS ` at-rule() для определения наличия функции.

Эта функция добавляет в CSS @supports функцию at-rule() , которая позволяет авторам определять наличие поддержки правил @ в CSS.

Добавьте ключевое слово revert-rule

Ключевое слово revert-rule откатывает каскад до предыдущего правила, аналогично тому, как revert-layer откатывает каскад до предыдущего слоя. Например:

div { color: green; }
div { color: revert-rule; /* Effectively green */ }

Это особенно полезно при использовании условных операторов, поскольку позволяет отменить текущее правило, если условие не выполняется:

div {
  display: if(style(--layout: fancy): grid; else: revert-rule);
}

Поддержка text-decoration-skip-ink: all

Эта функция добавляет поддержку значения all для свойства CSS text-decoration-skip-ink . Свойство text-decoration-skip-ink уже поддерживает значения auto и none . Значение all расширяет эту поддержку, безусловно применяя пропуск чернил ко всем глифам, включая символы китайского, итальянского и корейского языков. В отличие от этого, значение auto не пропускает символы китайского, итальянского и корейского языков, поскольку пропуск чернил, как правило, приводит к нежелательным визуальным результатам для идеографических шрифтов в типичных позициях подчеркивания. С помощью text-decoration-skip-ink: all авторы, которые настроили text-underline-position или text-underline-offset , чтобы избежать конфликта с глифами китайского, итальянского и корейского языков, могут явно включить пропуск чернил для этих символов.

Веб-API

Локализовать элементы манифеста

Эта функция поддерживает локализацию элементов манифеста, что позволяет приложениям адаптировать свои названия, описания, значки и ярлыки к языку и региону пользователя. Разработчики указывают локализованные значения в манифесте веб-приложения. Браузер автоматически выбирает соответствующие ресурсы на основе языковых настроек пользователя, что обеспечивает языковую поддержку на разных рынках.

Поддержка открытого формата шрифтов avar2 для формирования текста и отображения глифов.

Вторая версия таблицы avar (Axis Variations) позволяет дизайнерам шрифтов создавать вариативные шрифты с лучшим контролем над интерполяцией. В то время как исходная спецификация вариативных шрифтов обрабатывает оси независимо, avar2 позволяет осям влиять друг на друга. Это приводит к созданию шрифтов, которые проще использовать авторам контента, и обеспечивает компактное хранение.

Avar2 работает, используя те же знакомые концепции вариаций шрифтов, но позволяет применять переменные значения дельты к самим осям дизайна. Это можно сделать для диапазона нескольких осей.

Например, можно создать мета-ползунки, которые одновременно управляют несколькими осями вариаций. Это избавляет пользователя от необходимости тонкой настройки и поиска полезного участка в пространстве дизайна шрифта.

Avar2 предоставляет дизайнерам шрифтов лучший контроль над используемым пространством вариаций их шрифта и позволяет им координировать настройку осей дизайна по нескольким осям. Задавая математические соотношения между осями в таблице avar версии 2, шрифты могут создавать сложные дизайны с меньшим количеством исходных файлов. Это приводит к уменьшению размера файлов, поскольку интерполяция хранится более эффективно.

Режим мгновенной веб-аутентификации в пользовательском интерфейсе

Новый режим для navigator.credentials.get() приводит к тому, что интерфейс авторизации в браузере отображается пользователю, если браузеру сразу известен пароль или ключ доступа к сайту. В противном случае, если такие учетные данные недоступны, промис отклоняется с NotAllowedError . Это позволяет сайту избежать отображения страницы авторизации, если браузер может предложить выбор учетных данных, которые с большей вероятностью приведут к успешной авторизации. При этом страница авторизации по-прежнему отображается в случаях, когда таких учетных данных нет.

Поддержка Web Serial API на Android

API Web Serial предоставляет интерфейс для подключения к последовательным устройствам. Эти устройства могут подключаться через последовательный порт в системе пользователя или через съемные USB-устройства и устройства Bluetooth, эмулирующие последовательный порт. API теперь поддерживается на Android.

Пользователи, особенно в образовательном, любительском и промышленном секторах, подключают к своим компьютерам периферийные устройства, для управления которыми требуется специальное программное обеспечение. Например, робототехника часто используется для обучения программированию и электронике в школах. Для этого требуется программное обеспечение, которое может загружать код в робота или управлять им удаленно. В промышленном или любительском контексте оборудование, такое как фрезерный станок, лазерный резак или 3D-принтер, управляется программой, работающей на подключенном компьютере. Эти устройства часто управляются небольшими микроконтроллерами через последовательное соединение.

Функция linear_indexing WebGPU

Данная функция добавляет два новых встроенных значения вычислительного шейдера для улучшения пользовательского опыта. Эти значения реализованы для всех бэкендов (в виде полифилов существующих встроенных значений).

Поддержка SharedWorker на Android

Долгое время SharedWorker был отключен на Android из-за опасений по поводу непредсказуемого жизненного цикла процесса. Разработчики Chrome считали, что экземпляры SharedWorker могут неожиданно завершаться без уведомления пользователей или веб-разработчиков. Это считалось неприемлемым.

Однако недавнее обсуждение на GitHub предполагает, что непредсказуемый характер жизненного цикла процесса SharedWorker может быть не такой уж значительной проблемой, как считалось ранее. Исходя из этого, Chrome повторно включает SharedWorker на Android, одновременно исследуя это поведение, чтобы обеспечить стабильную и надежную работу.

Увеличенный срок службы для работников, занятых на совместном использовании ресурсов.

В этом обновлении в конструктор SharedWorker добавлена ​​новая опция — extendedLifetime: true . Она позволяет общему рабочему процессу оставаться активным даже после выгрузки всех текущих клиентов. Основное назначение — позволить страницам выполнять асинхронную работу, требующую JavaScript, после выгрузки страницы, без необходимости полагаться на сервис-воркер.

API подсказок

API Prompt предоставляет веб-разработчикам прямой доступ к предоставляемой браузером языковой модели ИИ, работающей на устройстве. Архитектура API обеспечивает детальный контроль, соответствующий структуре облачных API. Это позволяет постепенно улучшать сайты, адаптируя взаимодействие с моделью к индивидуальным сценариям использования. Это дополняет API языковых моделей, ориентированных на задачи (например, API Summarizer ), а также различные API и фреймворки для обобщенного вывода на устройстве с использованием моделей машинного обучения, предоставляемых разработчиками. Первоначальная реализация поддерживает ввод текста, изображений и аудио, а также ограничения ответа , гарантирующие соответствие сгенерированного текста предопределенным форматам регулярных выражений и JSON Schema.

Это позволяет использовать систему в самых разных целях. Например, она может генерировать подписи к изображениям, выполнять визуальный поиск, расшифровывать аудиозаписи, классифицировать звуковые события, генерировать текст по заданным инструкциям, а также извлекать информацию или аналитические данные из мультимодальных исходных материалов.

Этот API уже включен в расширения Chrome. Данный интент отслеживает его внедрение в веб-версию. Для отключения загрузки базовой модели, что делает этот API недоступным, доступна корпоративная политика GenAILocalFoundationalModelSettings . Администраторы предприятия также могут установить политику BuiltInAIAPIsEnabled , чтобы заблокировать использование встроенного API искусственного интеллекта, но при этом разрешить другие функции GenAI на устройстве.

Журнал поддержки языков:

  • Chrome 139 и более ранние версии поддерживали только английский язык ( 'en' ).
  • В Chrome 140 добавлена ​​поддержка испанского и японского языков ( 'es' и 'ja' ).

Получите возможности безопасного подтверждения платежей.

Эта функция добавляет новый статический метод в API запроса платежа, который позволяет веб-разработчикам получить информацию о возможностях реализации безопасного подтверждения платежа в браузере. Это помогает веб-разработчикам узнать, какие возможности доступны для безопасного подтверждения платежа. Затем они могут решить, использовать ли безопасное подтверждение платежа с этими возможностями.

Правила IDNA ContextJ

IDNA — это механизм кодирования не-ASCII символов в доменных именах. Он кодирует URL-адрес, например http://네이버.한국/ как http://xn--950bt9s8xi.xn--3e0b707e/ (перенаправление на naver.com).

Спецификация URL устанавливает флаг CheckJoiners , который включает правила ContextJ в IDNA2008 . Это запрещает ZWNJ (U+200C ZERO WIDTH NON-JOINER) и ZWJ (U+200D ZERO WIDTH JOINER) в большинстве мест URL. Реализация передает опцию UIDNA_CHECK_CONTEXTJ в ICU, где это правило и реализуется.

Повторное использование изображений, не хранящихся в хранилище, при переназначении с тем же источником

Эта функция позволяет обходить правило Cache-Control: no-store reload при переназначении одного и того же значения src элементу <img> при повторном использовании изображений в одном и том же документе. Ранее Blink повторно загружал изображение, даже если оно уже было декодировано и доступно в документе. Это соответствует существующему поведению Gecko и WebKit.

Добавьте поле contentType в параметр Resource Timing.

Эта функция добавляет поле contentType в PerformanceResourceTiming для хранения строки, соответствующей типу содержимого полученного ресурса, возвращаемого сервером.

Подавление событий указателя при начале перетаскивания

Согласно спецификации HTML, при начале перетаскивания пользовательский агент должен отправлять соответствующие события источнику перетаскивания, чтобы указать, что поток событий указателя завершился и что ему не следует ожидать дальнейших событий от этого указателя. Этот код был частично реализован для событий мыши и полностью реализован для перетаскивания касанием на Android. С помощью этой функции Chrome стремится полностью удовлетворить это требование спецификации на всех остальных платформах. На практике это означает, что после начала перетаскивания источник перетаскивания теперь будет получать события pointercancel , pointerout и pointerleave указывающие на то, что текущий поток событий завершился.

WebRTC Datachannel: Всегда согласовывайте каналы передачи данных.

Эта функция реализует расширение WebRTC, alwaysNegotiateDataChannels , которое определяет способ согласования каналов передачи данных в предложении SDP до создания канала передачи данных. Также происходит согласование раздела m= данных до любых разделов m аудио или видео и используется в качестве «раздела m= помеченного поставщиком» для [BUNDLE] .

Это означает, что если вы создадите RTCPeerConnection с alwaysNegotiateDataChannels: true , а затем вызовете createOffer() , то в SDP будет создано предложение с m-строкой приложения. Например:

  const pc = new RTCPeerConnection({
    alwaysNegotiateDataChannels: true});
  const offer = await pc.createOffer();

Если вы также добавите аудиоприемопередатчик и канал передачи данных, предложение согласует сначала m-линию приложения, а затем m-линию аудио в SDP:

  const pc = new RTCPeerConnection({
    alwaysNegotiateDataChannels: true});
  pc.addTransceiver('audio');
  pc.createDataChannel('somechannel');
  const offer = await pc.createOffer();

Новые испытания происхождения

В Chrome 148 вы можете принять участие в следующих новых пробных версиях Origin .

Агентский федеративный вход

Набор расширений FedCM, помогающих браузерам, использующим федеративные учетные записи, безопасно авторизовывать пользователей на веб-сайтах.

Списки разрешенных подключений

Функция Connection Allowlists предназначена для обеспечения явного контроля над внешними конечными точками путем ограничения соединений, инициированных через Fetch API или другие API веб-платформы из документа или обработчика. Предлагаемая реализация распространяет список разрешенных конечных точек с сервера через заголовок HTTP-ответа. Прежде чем пользовательский агент установит какое-либо соединение от имени страницы, агент проверяет целевой адрес на соответствие этому списку разрешенных соединений. Соединения с проверенными конечными точками разрешены, а те, которые не соответствуют записям в списке, блокируются.

Сроки контейнерных перевозок

API Container Timing позволяет отслеживать, когда аннотированные разделы DOM отображаются на экране и завершают свою первоначальную отрисовку. Вы можете помечать подразделы DOM атрибутом containertiming (аналогично elementtiming в API Element Timing) и получать данные о производительности, когда этот раздел отрисовывается впервые. Этот API позволяет измерять время работы различных компонентов на ваших страницах.

Декларативные CSS-модульные скрипты

Декларативные CSS-модульные скрипты являются расширением существующих скриптовых CSS-модульных скриптов. Они позволяют разработчикам совместно использовать декларативные таблицы стилей с теневыми DOM-элементами, включая декларативные теневые DOM-элементы. Разработчики могут определять встроенные модули стилей с помощью <style type="module" specifier="foo"> и применять декларативный модуль к декларативному теневому DOM, ссылаясь на specifier или URL-адрес, например, <template shadowrootmode="open" shadowrootadoptedstylesheets="foo"> .

HTML-в-холсте

HTML-in-canvas — это новый API, позволяющий настраивать отрисовку элементов DOM непосредственно на холсте или текстуре WebGL/WebGPU, сохраняя при этом интерактивность и доступность контента. Он состоит из трех частей: атрибута для включения элементов холста ( layoutsubtree ), методов для отрисовки дочерних элементов ( 2d: drawElementImage , webgl:texElementImage2D , webgpu: copyElementImageToTexture ) и способа корректного обновления преобразования элемента на экране для обеспечения интерактивности.

Длительность анимации в стиле кадров продолжительности

Эта функция добавляет информацию о styleDuration и forcedStyleDuration в API длинных кадров анимации. Это позволяет разработчикам различать время, затрачиваемое на стиль и компоновку.

OpaqueRange

OpaqueRange представляет собой динамически изменяющийся текстовый диапазон внутри значения элемента управления формы (например, <textarea> или текстовое поле <input> ), поэтому разработчики могут работать с текстовыми значениями, используя API, аналогичные диапазонам.

Это позволяет выполнять такие операции, как getBoundingClientRect() , getClientRects() , а также использовать их с API CSS Highlights для пользовательского интерфейса, например, для встроенных подсказок, подсветки и привязанных всплывающих окон. Он сохраняет инкапсуляцию, предоставляя доступ только к смещениям значений (и возвращая null для startContainer и endContainer ), поэтому конечные точки DOM и внутренняя структура не раскрываются.

Инструкции по обработке в формате HTML

Инструкции обработки (синтаксис: <?target data> ) — это существующая конструкция DOM, доступная в XML. Эта конструкция позволяет объектам узлов, не являющимся элементами, иметь семантическое значение для обработки документа. Например, вы можете использовать их для обозначения диапазонов для потоковой передачи или подсветки без необходимости создания новых элементов DOM и изменения структуры DOM с точки зрения CSS. Вы также можете использовать их в качестве директив для парсера HTML о том, как буферизовать и передавать данные потоком.

Политика разрешений: focus-without-user-activation

Эта политика предоставляет разработчикам возможность управлять программной фокусировкой встроенного контента с помощью политики разрешений focus-without-user-activation . Если политика запрещена для фрейма, вызовы программной фокусировки ( element.focus() , autofocus , window.focus() , dialog.showModal() и фокусировка всплывающего окна) блокируются, если они не инициированы активацией пользователя. Фокусировка, инициированная пользователем, например, щелчком мыши или нажатием клавиши Tab, никогда не затрагивается. Вы можете установить политику через заголовок HTTP-ответа Permissions-Policy или атрибут iframe allow . Поддерживается делегирование фокусировки. Родительский фрейм, имеющий фокус, может программно передавать фокус дочернему iframe, даже если дочернему фрейму запрещена политика. После того, как фрейм получил фокус, он может перемещать фокус внутри своего поддерева.

Параметры выборки API для оперативного выполнения

Эта функция добавляет параметры выборки в API подсказок. Эти параметры управляют тем, как токены выбираются из модели, что дает разработчикам контроль над креативностью или случайностью выходных данных. Кроме того, она добавляет атрибуты к экземпляру LanguageModel для чтения заданных значений. Также добавляется статическая функция LanguageModel для получения значений по умолчанию и максимальных значений этих параметров. Первая реализация добавляет параметры temperature и topK .

HTML-элемент установки веб-приложения

Эта функция позволяет веб-сайту декларативно предлагать пользователям установить веб-приложение. Элемент может опционально принимать два атрибута, что позволяет устанавливать контент из другого источника.