Проблема, с которой я сталкиваюсь, заключается в том, что Firefox не поддерживает символы #
в URI данных.Chrome или Safari вполне подходят для этого.
Наши ребята из UI использовали много встроенных SVG, и все они содержат данные URIS
, например, в scss
файлах:
content: url('data:image/svg+xml;utf8,<svg ...</svg>');
и в html
файлах:
<img src='data:image/svg+xml;utf8,<svg width="234px" height="205px"...</svg>'>
И таких примеров сотни, и ни один из них не работает в Firefox, потому что они имеют символ #
, и я получаю следующую ошибку
![Firefox error](https://i.stack.imgur.com/fVXVQ.png)
, но когда мы пытаемся вместо этого символа %23
, SVG загружаются правильно.
Как я могу автоматизировать сборкутак что они получают URL-кодировку.
Строка замены должна быть чрезвычайно специфичной и должна делать это только внутри тегов img
в html и url('data:image/svg+xml;utf8
в меньшем количестве файлов.
Вот чтоЯ думаю о том, чтобы сделать: найти все stroke="#
и заменить на stroke='%23
и то же самое на fill
, если сложнее сделать с веб-пакетом