Новое в Chrome 75

В Chrome 75 мы добавили поддержку:

Меня зовут Пит ЛеПейдж . Давайте углубимся в детали и посмотрим, что нового появилось в Chrome 75 для разработчиков!

Журнал изменений

Здесь рассмотрены лишь некоторые из основных моментов. Дополнительные изменения в Chrome 75 можно найти по ссылкам ниже.

Подсказка для контекстов canvas с низкой задержкой

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

desynchronized подсказка при создании контекста canvas использует другой путь кода, который обходит обычный механизм обновления DOM. Подсказка сообщает системе о необходимости пропустить столько компоновки, сколько она может. В некоторых случаях базовый буфер canvas отправляется напрямую в контроллер дисплея экрана. Это устраняет задержку, которая могла бы быть вызвана использованием очереди компоновщика рендерера.

Использовать подсказку desynchronized просто, просто добавьте desynchronized: true к объекту параметров при создании холста.

const opts = { desynchronized: true };
const ctx = canvas.getContext('2d', opts);

Более подробную информацию, в том числе о том, как обнаружить особенности, можно найти в статье Джо «Рендеринг с низкой задержкой и десинхронизированной подсказкой» .

Обмен файлами с помощью Web Share API

API Web Share позволяет подключаться к службе общего доступа, предоставляемой ОС, что упрощает обмен веб-страницами и приложениями с другими установленными на устройстве пользователя приложениями.

В Chrome 75 API Web Share теперь поддерживает обмен файлами! Я особенно рад этому, потому что это значительно упрощает приложениям обмен фотографиями, видео и многим другим. Squoosh добавляет поддержку этого, чтобы обмениваться файлами после того, как вы закончили их сжимать. API Web Share в настоящее время поддерживает обмен аудиофайлами, изображениями, видео и текстовыми документами .

Лучше всего использовать определение функций, чтобы узнать, поддерживается ли API Web Share, и вернуться к вашему традиционному механизму, если его нет. И вы можете использовать navigator.canShare , чтобы проверить, поддерживается ли общий доступ к файлам.


const webShareAvailable = {
  links: 'share' in navigator,
  files: 'canShare' in navigator,
};

Если navigator.canShare возвращает true , обмен этими файлами поддерживается, поэтому вы можете вызвать navigator.share и передать объект с массивом файлов, которыми вы хотите поделиться. Chrome откроет системный лист общего доступа и предоставит вам список установленных приложений, с которыми вы можете поделиться файлами.

if (webShareAvailable.files) {
  const shareData = { files: filesArray };
  if (navigator.canShare(shareData)) {
    shareData.title = 'Squooshed files.';
    navigator.share(shareData)
      .then(...)
      .catch(...);
  } else {
    // File sharing not supported
  }
}

Попробуйте демо-версию и ознакомьтесь со статьей Обмен файлами с помощью Web Share для получения полной информации.

Числовые разделители

Числовые литералы теперь допускают подчеркивания (_, U+005F) в качестве разделителей, чтобы сделать их более читаемыми. Например, 1_000_000_000 будет интерпретироваться математическими операциями как эквивалент 1000000000 .

Подчеркивания могут появляться только между цифрами, а последовательные подчеркивания не допускаются. Поэтому такие литералы, как 3._14 , _2.71 или 1.6__2 являются незаконными.

Google I/O 2019 завершился

Если вы не были на конференции I/O или, может быть, были там и не видели всех докладов, все они доступны на канале Chrome Developers на YouTube , в плейлисте Web at Google I/O 2019 .

Подписаться

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

Меня зовут Пит ЛеПейдж, и как только выйдет Chrome 76, я сразу же расскажу вам, что нового в Chrome!

Фотокредиты