Chrome 158 выходит 17 ноября: элемент <install> для веб-приложений и отключение XSLT

17 ноября 2026 года Chrome 158 выходит в стабильную ветку с двумя изменениями для веб-разработчиков. Сайты получают стандартный способ предложить установку веб-приложения — HTML-элемент <install> и метод navigator.install(). Одновременно браузер отключает XSLT: XML-документы со стилями XSL покажутся без оформления, а вызовы XSLTProcessor перестанут работать.
Для PWA это первая альтернатива событию beforeinstallprompt, с которым годами мучились команды: его нельзя вызвать по желанию, а кнопку установки приходилось прятать и показывать вручную. Если вы ведёте frontend-разработку прогрессивных веб-приложений, кнопку «Установить» теперь можно сделать одной строкой разметки.
Отключение XSLT касается меньшего числа проектов, зато ломает их молча: страница отдаёт 200, но вместо оформленной таблицы пользователь видит голый XML. Под удар попадают «красивые» карты сайта, RSS-ленты со стилями и внутренние системы, которые собирают HTML из XML прямо в браузере. Если вы занимаетесь разработкой сайтов на старых CMS, проверить их стоит до 17 ноября.
Как работает элемент <install> и Web Install API
- Без JavaScript. Минимальная разметка —
<install></install>: если страница ссылается на манифест с полемid, браузер сам рисует кнопку со стандартным текстом и значком и по клику запускает обычный диалог установки. - Установка с другого домена. Атрибут
installurlпозволяет поставить веб-приложение с другого источника, например из каталога приложений или с промо-лендинга:<install installurl="https://app.example.com/"></install>. Если в манифесте нетid, нужен атрибутmanifestid— вычисленный идентификатор видно в DevTools, раздел Application → Identity. - Из скрипта. Тот же механизм доступен через
navigator.install()с URL манифеста и необязательным ID — для своих кнопок и сценариев онбординга. - Решает пользователь. Сайт может только попросить: Chrome показывает свой диалог, и установка происходит после подтверждения.
- Контроль в компаниях. Администраторы могут запретить такие установки политикой
WebAppInstallByUserEnabledили через permissions policyweb-app-installation.
Элемент прошёл origin trial в Chrome и Edge версий 148–153, так что в стабильную ветку он приходит уже проверенным на реальных пользователях.
Почему кнопка установки PWA меняет воронку
У beforeinstallprompt было две проблемы. Браузер сам решал, когда событие сработает, поэтому кнопка «Установить» то появлялась, то нет. И событие работало только для текущего сайта: каталог или лендинг не мог предложить поставить приложение, живущее на другом домене. Новый элемент снимает оба ограничения, а доверенная браузерная кнопка с понятной подписью снижает риск, что пользователь испугается внезапного диалога.
Для бизнеса это аргумент ещё раз взвесить веб-приложение там, где раньше выбирали только нативное: установку PWA теперь можно встроить в воронку так же явно, как ссылку на магазин. Сравнение подходов — в нашем материале PWA против нативного приложения.
Что сломается после отключения XSLT
Google объясняет решение безопасностью: библиотека, на которой Chrome обрабатывал XSLT, — устаревший код на C, склонный к ошибкам работы с памятью. График такой:
- Chrome 158, 17 ноября 2026 — XSLT не работает в стабильной версии для всех, кроме участников origin trial и компаний с корпоративной политикой
XSLTEnabled; - Chrome 176, 17 августа 2027 — origin trial и политика перестают действовать, код удаляется окончательно.
Что заметят пользователи и команды:
- Карты сайта со стилем. Многие SEO-плагины добавляют в
sitemap.xmlстроку<?xml-stylesheet type="text/xsl" ...?>, чтобы человек видел таблицу ссылок. В Chrome 158 это превратится в сырой XML. Поисковым роботам стиль не нужен, индексация не пострадает — меняется только вид для людей. - RSS и Atom со стилями откроются как код, а не как читаемая лента.
- Корпоративные системы, где клиентский JavaScript собирает интерфейс из XML через
XSLTProcessor, перестанут отрисовывать страницы.
Что ещё вошло в Chrome 158
- CSS для медиа. Псевдоклассы
:playing,:paused,:seeking,:buffering,:stalled,:mutedи:volume-lockedпозволяют стилизовать плееры без скриптов. - CSS и вёрстка. Универсальный селектор
::highlight(*)для всех пользовательских подсветок, ключевые словаflow-startиflow-endдля выравнивания,closest-cornerиfarthest-cornerвcircle()иellipse(). - WebHID на Android. API для HID-устройств (клавиатуры, игровые мыши) пришёл на Android 17 и новее.
- Производительность и сеть. Long Animation Frames показывает длительность стилей и раскладки, WebTransport получил новые свойства потоков.
Как подготовиться до 17 ноября
- Найдите XSLT. Поищите в коде и шаблонах
xml-stylesheet,.xslиXSLTProcessor, включая карты сайта и ленты, которые генерирует CMS. - Перенесите преобразование на сервер или в сборку: отдавайте готовый HTML. Для карт сайта и лент можно просто убрать стиль — роботам он не нужен.
- Для внутренних систем на переходный период подключите политику
XSLTEnabledили origin trial, но заложите миграцию до августа 2027 года. - Добавьте <install> в PWA с проверкой поддержки и оставьте прежний сценарий для браузеров, где элемента пока нет.
Часто задаваемые вопросы
Повлияет ли отключение XSLT на индексацию sitemap.xml? Нет. Поисковые роботы читают XML напрямую и стиль не применяют. Изменится только то, как карта выглядит в браузере человека.
Работает ли элемент <install> в других браузерах? С Chrome 158 — в стабильном Chrome; в origin trial участвовал и Edge. Для остальных браузеров нужен запасной вариант, поэтому проверяйте поддержку перед показом кнопки. Как устроены такие приложения, мы разбирали в статье о прогрессивных веб-приложениях.
Источники
- Chrome Platform Status — Chrome 158 Release Notes (первоисточник, стабильный выпуск 17 ноября 2026).
- Chrome for Developers — Chrome 158 beta, 28 октября 2026.
- Chrome for Developers — Removing XSLT for a more secure browser (график отключения).
- Chrome for Developers — Install web apps with the new HTML install element, 12 мая 2026.
- MDN Browser Compat Data (Mozilla) — обновление данных под Chrome 158, 2 ноября 2026.
Нужна кнопка установки PWA или аудит XSLT?
Добавим элемент <install> в ваше веб-приложение с фолбэком для других браузеров и найдём всё, что сломается после отключения XSLT в Chrome 158.