Новое в Chrome 128

Вот что вам нужно знать:

Я Адриана Хара. Давайте углубимся и посмотрим, что нового для разработчиков в Chrome 128.

Разрыв линии <ruby>

Элемент <ruby> улучшает представление текста, особенно для языков Восточной Азии. Он позволяет отображать фонетические аннотации или другую дополнительную информацию над основным текстом или рядом с ним.

Элемент Ruby состоит из двух основных частей: базы Ruby, которая является основным текстом, и текста Ruby, который представляет собой текст аннотации, размеченный элементом.

Раньше, если Ruby-основа или Ruby-текст были длиннее целой строки, они переносились индивидуально, что создавало проблемы с макетом.

Теперь Ruby с разрывом строк помещает обернутый текст аннотации Ruby поверх обернутого базового текста, обеспечивая идеальную визуализацию текста.

Посетите Line-breakable <ruby> и свойство CSS Ruby-align для примеров и дополнительной информации.

Обещание.попробуй

Promise.try упрощает обработку ошибок с помощью Promises. Есть шаблон, в котором у вас есть функция f . Эта функция может быть асинхронной и возвращать обещание, а может и нет. Чтобы использовать семантику промиса для обработки ошибок в обоих случаях, вы помещаете функцию в промис.

Один из способов добиться этого — использовать Promise.resolve().then(f) , но в этом случае f будет выполняться без необходимости асинхронно на следующем такте.

Чтобы избежать этой проблемы, вам нужно использовать new Promise(resolve => resolve(f())) , который совершенно неэргономичен.

Promise.try — это простой и понятный способ добиться того же. Он позволяет запустить цепочку обещаний, которая перехватывает все ошибки в обработчиках .catch вместо того, чтобы обрабатывать как синхронные, так и асинхронные потоки исключений.

Чтобы узнать больше, ознакомьтесь с документацией Promise.try .

PointerEvent.deviceProperties для рукописного ввода несколькими перьями

У разработчиков не было возможности различать два отдельных пера на дигитайзере с поддержкой рукописного ввода. Существующий атрибут PointerEvent.pointerId реализуется по-разному и не всегда сохраняется для каждого росчерка рукописного ввода или взаимодействия с экраном.

Интерфейс PointerEvent теперь расширен и включает новый атрибут: deviceProperties . Он содержит атрибут uniqueId , который представляет постоянный для сеанса изолированный от документа уникальный идентификатор, который разработчик может надежно использовать для идентификации отдельных перьев, взаимодействующих со страницей.

С помощью этого изменения вы можете, например, установить определенные цвета или формы перьев для каждого устройства, взаимодействующего с дигитайзером.

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

И многое другое!

Конечно, есть еще много всего.

  • Свойство zoom CSS теперь соответствует последнему стандарту.

  • Об ошибках создания AudioContext и рендеринга звука теперь сообщается через AudioContext.onerror .

  • Панель DevTools Animations теперь захватывает анимацию, и вы можете редактировать @keyframes в реальном времени.

Прочтите полные примечания к выпуску .

Дальнейшее чтение

Здесь рассматриваются лишь некоторые ключевые моменты. Перейдите по следующим ссылкам, чтобы узнать о дополнительных изменениях в Chrome 128.

Подписаться

Чтобы быть в курсе новостей, подпишитесь на канал YouTube для разработчиков Chrome , и вы будете получать уведомления по электронной почте каждый раз, когда мы запускаем новое видео.

Привет, Адриана Хара, как только выйдет Chrome 128, я буду здесь, чтобы рассказать вам, что нового в Chrome!