Новое в 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!