Что у нас сейчас работает сейчас , но имеет несколько неудачных аспектов: < /p>
- Сохраните скрипт как фрагмент HTML, который не является чем -то иным, как сценарием: Первая строка - это и последняя строка закрывает этот скрипт. Этот скрипт устанавливает локальную переменную для бита HTML, как длинную строку, затем находит, где разыскивается бит HTML, и вызывает InserTAdjacenthtml, чтобы вставить его.
< /ul>
Таким образом, фрагмент-это HTML-файл, который не содержит ничего, кроме скрипта, и этот скрипт, в свою очередь, содержит жесткий HTML в качестве строки. Это сбивает с толку читать и не позволяет нашим javaScript и HTML Linters работать над этим фрагментом. Но код работает, и сценарий может использоваться любой страницей, просто импортируя единый фрагмент. < /P>
Есть ли более чистое решение? Мое идеальное решение было бы: < /p> - Хранить бит HTML в файле HTML. < /Li>
Храните скрипт в .js. Файл. < /li>
Разрешить страницы, которые используют скрипт, чтобы просто загрузить скрипт. < /li>
< /ul>
Я попробовал следующее, ни один из которых не работает, и никто которые соответствуют всем этим целям: < /p>
1: Сделайте фрагмент HTML в статический файл JavaScript, сохраняя при этом жесткий HTML внутри. Загрузите это как любой статический скрипт. Он также все еще имеет жесткий HTML в файле JavaScript. Очевидно, что вызовы FS не доступны в нашей среде, и я не уверен, что стоит добавить необходимую дополнительную библиотеку. : < /p>
Переместите бит HTML в новый фрагмент HTML, вставив его в новый скрытый Div с уникальным идентификатором. < /li>
< Ли> иметь Страница, которая загружает сценарий, сначала включает в себя фрагмент HTML, в конце раздела { % блока %} , а также включить его фрагмент скрипта HTML (если бы я мог получить это, я бы попробовал его перенести к статическому файлу JS, но по одному изменению за раз). < /li>
Попросите скрипта использовать модель домена, чтобы получить DIV, содержащий HTML, получите HTML В качестве строки с использованием innerhtml , затем удалите скрытый div (чтобы предотвратить скрытое HTML -бит, не подтянув приложения).
Для любой страницы загружается сценарий, чтобы также импортировать соответствующий HTML фрагмент. и склонны к ошибкам. < /p>
Есть идеи для более чистого решения? Я попробовал много поиска в Интернете, но подозреваю, что не задаю правильному вопросу.
Подробнее здесь: https://stackoverflow.com/questions/794 ... javascript