Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект
Облако

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

7 ноября 2026·5 мин чтения
Chrome 158PWA
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 policy web-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 ноября

  1. Найдите XSLT. Поищите в коде и шаблонах xml-stylesheet, .xsl и XSLTProcessor, включая карты сайта и ленты, которые генерирует CMS.
  2. Перенесите преобразование на сервер или в сборку: отдавайте готовый HTML. Для карт сайта и лент можно просто убрать стиль — роботам он не нужен.
  3. Для внутренних систем на переходный период подключите политику XSLTEnabled или origin trial, но заложите миграцию до августа 2027 года.
  4. Добавьте <install> в PWA с проверкой поддержки и оставьте прежний сценарий для браузеров, где элемента пока нет.

Часто задаваемые вопросы

Повлияет ли отключение XSLT на индексацию sitemap.xml? Нет. Поисковые роботы читают XML напрямую и стиль не применяют. Изменится только то, как карта выглядит в браузере человека.

Работает ли элемент <install> в других браузерах? С Chrome 158 — в стабильном Chrome; в origin trial участвовал и Edge. Для остальных браузеров нужен запасной вариант, поэтому проверяйте поддержку перед показом кнопки. Как устроены такие приложения, мы разбирали в статье о прогрессивных веб-приложениях.

Источники

Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.

Нужна кнопка установки PWA или аудит XSLT?

Добавим элемент <install> в ваше веб-приложение с фолбэком для других браузеров и найдём всё, что сломается после отключения XSLT в Chrome 158.

Обсудить frontend-разработку