Я работаю над плагином jQuery, который использует шаблон HTML.Конечные пользователи могут передать шаблон, который выглядит на простейшем уровне, подобном следующему:
<template>
<img src="/images/image_{field_id}.gif">
</template>
Шаблон должен быть закомментирован, чтобы браузер не пытался что-либо отображать. Мой код просто извлекаетвнутренняя часть комментария как текст, а затем использует jQuery для анализа его в дереве элементов.Затем я делаю конкретные замены.
Я помню, что читал, что jQuery просто использует DOM для разбора HTML, например, когда вы просто делаете
var x = $(html_string);
jQuery фактически просто добавляет его в DOM для получения элементов.Приведенное выше простое действие ничего не отобразит (пока я фактически не добавлю x
где-нибудь в DOM), но все же этот код приводит к тому, что браузер пытается загрузить целевое изображение - , даже если я никогда не добавлю его в DOM. Вот простая демонстрация этого эффекта в действии: http://jsfiddle.net/b5HGU/
Итак, в принципе - есть ли способ решить эту проблему?Можете ли вы создать элемент «image» с известным плохим тегом src
, используя jQuery, но не загружайте ли он изображение до тех пор, пока вы действительно не добавите его в реальный DOM?весь синтаксический анализ шаблона в виде строки до с использованием jQuery для создания DOM.Это, конечно, выполнимо, но на самом деле шаблон имеет ряд различных компонентов, и очень удобно использовать селекторы jQuery, чтобы превратить его в дерево навигации, прежде чем выводить проанализированную версию.В противном случае мне пришлось бы написать собственный синтаксический анализатор XML.Просто интересно, есть ли какие-нибудь простые решения, прежде чем я сделаю это трудным путем.