TransWikia.com

Chrome 84 начали пропадать SVG иконки

Stack Overflow на русском Asked on December 22, 2021

После обновления Chrome до 84.0.4147.89 на сайтах начали пропадать svg-иконки размеченные с помощью тега use. Что более удивительно – не все и после обновления они возвращаются.

<svg><use xlink:href="sprite.svg#pencil"></use></svg>

Есть какая-нибудь информация по этой проблеме?

One Answer

Самое простое решение для меня стало подключение SVG-спрайтов в тело документа.

Было

<svg><use xlink:href="sprite.svg#pencil"></use></svg>

Стало

<svg><use xlink:href="#pencil"></use></svg>
<svg><use xlink:href="#delete"></use></svg>
<div style="display:none">
    <svg>
        <symbol id="pencil">...</symbol>
        <symbol id="delete">...</symbol>
    </svg>
</div>

Минусы:

  1. Увеличение DOM,
  2. SVG-спрайт больше не кешируется и загружается при каждой загрузке страницы,
  3. Нужно контролировать id. Потому что если на странице появится второй элемент с одинаковым id, может что-то сломаться в JS или не будет работать иконка.

Плюсы:

  1. Не создает лишних запросов,
  2. Фиксит проблему 84 хрома.

Answered by Иван Антонов on December 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP