Приложение Django: Как прочитать немного HTML в JavaScriptJavascript

Форум по Javascript
Ответить
Anonymous
 Приложение Django: Как прочитать немного HTML в JavaScript

Сообщение Anonymous »

У меня есть приложение Django, в котором есть проблема с дизайном, которую я хотел бы исправить: сценарий хочет ввести кусок HTML, который содержит теги django. < /p>
Что у нас сейчас работает сейчас , но имеет несколько неудачных аспектов: < /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 -бит не удален. Но я скажу, что когда я запускаю приложение локально, оно, кажется, работает, и теги Django обрабатываются правильно. Кроме того, если я удалю "скрытую", я не вижу бита HTML при взаимодействии с сервером. Так что я не совсем уверен, что происходит. Но я думаю, что сломанные тесты показывают, что это решение не совсем правильно. /> рискованно добавить нежелательный HTML на страницу (как показывают сломанные тесты). < /li>
Для любой страницы загружается сценарий, чтобы также импортировать соответствующий HTML фрагмент. и склонны к ошибкам. < /p>
Есть идеи для более чистого решения? Я попробовал много поиска в Интернете, но подозреваю, что не задаю правильному вопросу.

Подробнее здесь: https://stackoverflow.com/questions/794 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»