Синтаксически неправильно использовать html-конвертер в jsView следующим образом: data-link = «html » вместо data-link = «»?
Мы используем html-конвертер на многих наших шаблонах, которые отображаются в jsViews/jsRender. Мы столкнулись с проблемой, когда jsViews искажала ошибку «Несоответствие», когда
тег был в тексте, который он показывал. Мы этого не заметили, до недавнего времени обновляя до последних версий. Это фрагмент, который мы изначально использовали, что вызывает ошибку:
Теперь я заметил, что в jsRender APi он обрабатывает тег, как показано ниже, и при этом он корректно отображает данные, кодируя содержимое html по мере необходимости.
Мой вопрос заключается в следующем: правильно ли он не был настроен раньше, и мы просто не заметили ошибку, это изменилось в последней версии, и последний способ — единственный правильный способ использования html-кодировщика? Любая помощь приветствуется. Благодарю!
2 ответа
- «>
(односторонняя привязка к innerHTML)
Так что это говорит о том, что цель по умолчанию для связанного с данными div — это innerText — это означает, что если вы вставляете HTML-разметку, то это будет означать, что HTML кодирует эту разметку «бесплатно». Он не будет вставлять HTML-теги в качестве внутреннего HTML.
Если вы добавили HTML-конвертер, вы должны написать его так:
). См. Документацию по конвертеру HTML: http://www.jsviews.com/#html.
Если вы хотите вставить в качестве внутреннего HTML, то вы используете цель HTML, которая является вторым примером выше:
Затем вы можете добавить кодировку как в
URL-схема data:
URL-схема data: (от англ. «data» ‒ «данные») позволяет включать небольшие элементы данных в URL строку так, как если бы они являлись ссылкой на внешний ресурс.
Поддержка браузерами
Спецификация
URL составляющие схемы
Указывает спецификацию типа носителей данных. «медиаТип» имеет вид [ тип «/» подтип ] *( «;» параметр ) .
тип Указывает медиа тип данных.
data: text /plain;charset=US-ASCII,A%20brief%20note
подтип Указывает медиа подтип данных.
data:text/ plain ;charset=US-ASCII,A%20brief%20note
параметр Указывает параметы медиа типа данных.
data:text/plain; charset=US-ASCII ,A%20brief%20note
по умолчанию: « text/plain;charset=US-ASCII ».
Примечание: При указании значения использующегося по умолчанию, можно опустить « text/plain », оставив только параметр « charset ».
base64
Указывает способ представления (кодирования) данных. Если указано « base64 », то это означает, что данные закодированы в base64. Если же запись « base64 » отсутствует, то это означает, что данные представлены, с помощью кодировки ASCII. При этом символы, которые находятся в диапазоне безопасных URL символов, записываются как обычно, а символы, которые находятся вне диапазона безопасных URL символов, кодируются при помощи стандартного шестнадцатеричного кодирования символов используемого в URL.
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAIAAADZ SiLoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA 7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAAZ SURBVBhXY7hx48Z/MGAAYggHxAJxbtwAAH8HGYcGiB3UAAAAAElFTkSuQmCC
Указываются закодированные данные. Является обязательным параметром.
Пример использования
Схема data:
.box padding: 3px;
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAIAAADZSiLoAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAAZSURBVBhXY7hx48Z/MGAAYggHxAJxbtwAAH8HGYcGiB3UAAAAAElFTkSuQmCC) repeat;
border: 1px solid #E5E5E5;
>
Примеры со схемой «data:»
Ссылка
Стих .
Изображение
«width: 50px; height: 66px;» alt= «face» >