Тег шаблона (NOEMBED?)
Традиционно в HTML4 для этого используют тег SCRIPT у указанием
<script type="text/x-template" id="template-ok">
<div><div class="button">OK</div></div>
</script>Либо используют комментарии (у Сергея Чикуёнка был рассказ
Был раньше такой нестандартный тег COMMENT, но его сейчас никто не понимает, даже Эксплорер прекратил его поддержку, в данном случае он бы пригодился.
Мне вчера ночью подумалось, что можно использовать и более лаконичные теги — NOFRAMES или NOSCRIPT. Первый показывает своё содержимое, если браузер не поддерживает фреймы, второй, если выключены скрипты. Если выключенные скрипты ещё встречаются у сетевых параноиков, то браузера без поддержки фреймов сейчас и не встретишь, а если таковые и есть, то
Особенность же тегов в том, что они в нормальных условиях являются аналогом комментария, то есть не добавляют своё содержимое в DOM, поэтому они вполне пригоды на роль шаблонного тега.
<noframes id="template-ok">
<div><div class="button">OK</div></div>
</noframes>
<script>
alert(document.getElementById('template-ok').innerText); // содержимое шаблона
</script>Не сказать, что это
Когда я уже дописал эту заметку, мне пришла в голову мысль, что а) тег NOEMBED был бы, наверное, более семантичем, чем NOFRAMES, он имеет отношение к встраиванию контента, а я совсем про него забыл, б) тег EMBED был бы, наверное, ещё более семантичен, но, к сожалению, он слишком тяжёл для браузера, надо испытывать, но я предполагаю, что даже если контент явно незнакомый, браузер всё равно попытается угадать что это. Но надо провести испытания, конечно же.
Так что, я бы остановился бы на NOEMBED.
Комментарии 5
Проверил — рендерит! Хоть и без скроллинга внутри. Аццкий всё же браузер.
Желаю чувакам найти правильное решение.