Современные браузеры поддерживают так называемый 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 и размещена в рубрике На первой полосе.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 9, 2011 г.
Всех с прошедшими праздниками, рождеством и новым годом.
По телеку давно идет реклама нового сервиса поисковика google - голосовой набор запроса с мобильного телефона. И мне было любопытно, действительно ли так оно работает, как показывают в рекламе ...
Читать
Сентябрь 21, 2014 г.
Сегодня залил важное функциональное дополнение проекта - оценки работ и рейтинги.
Работы оцениваются по 100-бальной шкале, и каждой из них присваивается ...
Читать
Октябрь 22, 2015 г.
Это не сложный процесс, как всегда лежит в области know-how. Предлагаю использовать вот такую связку функций.
[crayon-6a180a9d95fe0687688356/]
Данная функция определяет активное окно и затем, по ID его процесса, получает код раскладки. Для русскоязычной ...
Читать
Декабрь 13, 2014 г.
Объект класса "__PHP_Incomplete_Class" с дополнительным свойством __PHP_Incomplete_Class_Name => 'имя класса' появляется, когда PHP не удается найти объявление класса при операции десериализации объекта. К примеру, такое может происходить при хранении ...
Читать