Chrome 85 уже начинает распространяться в стабильной версии.
Вот что вам нужно знать:
- Вы можете улучшить производительность рендеринга с помощью
content-visibility: auto
. - Свойства CSS теперь можно задавать… в CSS .
- Теперь вы можете проверить, установлено ли ваше приложение Windows или PWA, с помощью
getInstalledRelatedApps()
. - Ярлыки значков приложений работают и в Windows (на этот раз по-настоящему).
- Началась пробная версия Origin для потоковой передачи
fetch
загрузки . - И многое другое .
Меня зовут Пит ЛеПейдж , я работаю и снимаю из дома. Давайте углубимся в детали и посмотрим, что нового появилось в Chrome 85 для разработчиков!
Видимость контента

Превращение вашего HTML в то, что может видеть пользователь, требует, чтобы браузер прошел через ряд шагов, прежде чем он сможет нарисовать первый пиксель. И он делает это для всей страницы, даже для контента, который не виден в области просмотра.
Применение content-visibility: auto
к элементу сообщает браузеру, что он может пропустить работу по рендерингу этого элемента, пока он не прокрутится в область просмотра, что обеспечивает более быструю начальную отрисовку.
.my-class {
content-visibility: auto;
}
Чтобы получить максимальный эффект от content-visibility
, примените его к родительским разделам с более сложными алгоритмами компоновки, такими как flexbox
и grid
, или к разделам, имеющим дочерние элементы с собственными встроенными макетами.
Благодаря разделению контента на части и добавлению content-visibility: auto;
время рендеринга этой страницы сократилось с 232 мс до всего лишь 30 мс.
Проверьте видимость контента, чтобы узнать, как ее можно использовать для повышения производительности рендеринга.
@property
и переменные CSS
CSS-переменные, технически называемые пользовательскими свойствами, просто потрясающие. С помощью API свойств и значений CSS Houdini вы можете определить тип и резервное значение по умолчанию для ваших пользовательских свойств. Ранее я рассказывал о них в разделе Новое в Chrome 78 , когда мы добавили поддержку их определения в JavaScript.
Начиная с Chrome 85, вы также можете определять и устанавливать свойства CSS непосредственно в CSS. Что мне нравится в свойствах CSS, так это то, что они дают свойству семантическое значение, резервные значения и даже позволяют тестировать CSS.
@property --colorPrimary {
syntax: '<color>';
initial-value: magenta;
inherits: false;
}
У Уны есть замечательный пост @property
: наделение переменных CSS сверхспособностями , который показывает, как их можно использовать.
Получить установленные связанные приложения
API getInstalledRelatedApps()
позволяет вам проверить, установлено ли ваше приложение, а затем настроить пользовательский интерфейс.
Например, покажите пользователю разный контент на целевой странице, если ваше приложение уже установлено. Централизуйте перекрывающиеся функции в одном приложении, чтобы избежать путаницы. Или, если ваше нативное приложение уже установлено, не продвигайте установку вашего PWA.
Когда он впервые появился в Chrome 80 , он работал только для приложений Android. Теперь на Android он также может проверять, установлено ли ваше PWA. А на Windows он может проверять, установлено ли ваше приложение Windows UWP.
const relatedApps = await navigator.getInstalledRelatedApps();
relatedApps.forEach((app) => {
console.log(app.id, app.platform, app.url);
});
Ознакомьтесь с моей статьей Установлено ли ваше приложение? getInstalledRelatedApps()
расскажет вам об этом! на web.dev, чтобы узнать, как это работает, и как подписывать свои приложения, чтобы доказать, что они ваши.
Ярлыки иконок приложений

В Chrome 84 мы добавили поддержку App Icon Shortcuts. Я случайно сказал, что они доступны везде, но они были доступны только на Android. Теперь, в Chrome 85, они доступны на Android и Windows , а также в Chrome и Edge.
"shortcuts": [
{
"name": "Open Play Later",
"short_name": "Play Later",
"description": "View the list you saved for later",
"url": "/play-later",
"icons": [
{ "src": "//play-later.png", "sizes": "192x192" }
]
}
]
Подробную информацию можно найти в статье «Ярлыки значков приложений» на сайте web.dev. Приношу извинения за возникшую путаницу.
Пробная версия Origin: потоковые запросы с помощью fetch()
Начиная с Chrome 85, потоковое вещание загрузки fetch
доступно в качестве пробной версии origin. Оно позволяет вам начать fetch до того, как будет готово тело запроса. Раньше вы могли начать запрос только после того, как все тело было готово к отправке. Но теперь вы можете начать отправлять контент, даже пока вы все еще его генерируете.
const { readable, writable } = new TransformStream();
const responsePromise = fetch(url, {
method: 'POST',
body: readable,
});
Например, используйте его для разогрева сервера или потоковой передачи аудио или видео, записанного с микрофона или камеры.
Джейк подробно рассмотрел потоковые запросы с API fetch на web.dev, а также рассмотрел этот вопрос в последней статье HTTP203 — потоковые запросы с API fetch .
И многое другое
Конечно, есть еще много чего.
Promise.any
возвращает обещание, которое выполняется первым данным обещанием, подлежащим выполнению или отклонению.
try {
const first = await Promise.any(arrayOfPromises);
console.log(first);
} catch (error) {
console.log(error.errors);
}
Заменить все вхождения в строке проще с помощью .replaceAll()
, больше никаких регулярных выражений!
const myName = 'My name is Bond, James Bond.'
.replaceAll('Bond', 'Powers')
.replace('James', 'Austin');
console.log(myName);
// My name is Powers, Austin Powers.
В Chrome 85 добавлена поддержка декодирования AVIF — формата изображений, закодированного с помощью AV1 и стандартизированного Alliance for Open Media . AVIF обеспечивает значительное сжатие по сравнению с JPEG и WebP. Недавнее исследование Netflix показало экономию в 50% по сравнению со стандартным JPEG и более 60% экономии для контента 4:4:4.
И удаление AppCache началось .
Дальнейшее чтение
Это охватывает только некоторые из основных моментов. Проверьте ссылки ниже для дополнительных изменений в Chrome 85.
- Что нового в Chrome DevTools (85)
- Устаревание и удаление Chrome 85
- Обновления ChromeStatus.com для Chrome 85
- Что нового в JavaScript в Chrome 85
- Список изменений в исходном репозитории Chromium
Подписаться
Хотите быть в курсе наших видео? Подпишитесь на наш канал Chrome Developers на YouTube , и вы будете получать уведомления по электронной почте каждый раз, когда мы выпускаем новое видео.
Меня зовут Пит ЛеПейдж, и я наконец-то подстригся !
Как только выйдет Chrome 86, я сразу же расскажу вам, что нового в Chrome!