Современные браузеры поддерживают так называемый raw формат URL, когда вместо адреса изображения в CSS и даже в HTML <img src=»…» /> можно задать закодированный массив бинарных данных картинки. Требования к формату raw, а вернее отличия в допустимых отклонениях от стандарта требует внимательно тестировать картинку под всеми требуемыми ТЗ браузерами.
Наиболее лояльные к формату кодирования Chrome и Opera (оба на движке chromium). Они рендерят, к примеру, картинку не взирая на пропущенный токен charset перед кодировкой:
|
|
<img src="data:image/svg+xml;utf8, ... "/> |
и наличие не urlencoded символов в коде.
FF и IE более принципиальны. Для FireFox важно указать токен charset перед utf8, а для IE придется еще и провести кодирование символов, так чтобы они соответствовали формату URL.
В javascript можно использовать ф-цию encodeURIComponent:
|
|
var img = $('img').get(0); img.attr(src, 'data:image/svg+xml;charset=utf8,' + encodeURIComponent('<svg ... </svg>')); |
Этот вариант удовлетворит всех.
Данная запись опубликована в 30.11.2018 01:06 и размещена в рубрике На первой полосе.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 19, 2018 г.
JavaScript в web был когда то всего лишь приятным дополнением. А сейчас сложно найти сайт, который не использует скрипты.
А если уж часть шаблона формируется скриптом, то без много-строчных констант не обойтись. Но в javascript с ними не так все ...
Читать
Сентябрь 8, 2016 г.
Ведьмак так уж устроен, что не всегда можно тупо "отмахаться" мечом. Монстры имеет свои слабые стороны, о которых надо узнать, и требуют порой особой тактики. ...
Читать
Июль 17, 2025 г.
Если вы хотите отобразить рубрики (категории) и теги поста в шаблоне single.php - т.е. шаблоне одиночной статьи, WordPress предоставляет удобные функции из API-шаблонов. В этой статье разберем, как их использовать правильно и оформить вывод.
Зачем ...
Читать
Июль 4, 2025 г.
В Drupal (начиная с версии 8 и выше, включая 10 и 11), чтобы получить код языка по умолчанию сайта (например, en, ru, fr), используйте следующий способ:
[crayon-69c01897389bd974592071/]
Подробности запроса:
\Drupal::languageManager() — обращение ...
Читать