Могу ли я поместить JS-скрипты выше нижнего колонтитула вместо нижнего колонтитула перед тегом </body> - PullRequest
0 голосов
/ 19 марта 2019

У меня есть веб-сайт, созданный с использованием django.

Проблема: в настоящее время у нас> 50 страниц и абсолютно идентичный HTML-код нижнего колонтитула на каждой из этих страниц.Я устаю от необходимости редактировать все эти страницы при добавлении небольшого изменения в нижний колонтитул.

Возможное решение: вставить нижний колонтитул непосредственно в базовую страницу django.

Потенциальные проблемы: если явставьте нижний колонтитул в базовую страницу, все отдельные сценарии JS между нижним колонтитулом и тегом будут потеряны - очевидно, что эти сценарии относятся к конкретной странице.Таким образом, я мог иметь определенные JS-скрипты ПЕРЕД нижним колонтитулом?Это позволило бы нижнему колонтитулу войти в базу красиво и легко, но я не уверен, что смогу сделать это.Будет ли перемещение сценариев до нижнего колонтитула неправильным?

Спасибо

Ответы [ 3 ]

1 голос
/ 19 марта 2019

Да, у вас могут быть скрипты выше нижнего колонтитула HTML. Это может иметь потенциальную обратную сторону: вам придется подождать, пока сценарии будут извлечены и запущены, прежде чем будет отображен HTML-код нижнего колонтитула, но это вряд ли будет проблемой, если ваши сценарии не очень большие.

Однако, существует простое решение, чтобы избежать этого. Просто сделайте что-то вроде этого внизу вашего базового шаблона

    <!-- footer HTML -->
    {% block page_js %}{% endblock %}
    </body>
</html>

И затем на каждой отдельной странице вы можете включить что-то вроде этого (с таким количеством скриптов на странице и / или с внешней загрузкой, сколько необходимо):

{% block page_js %}
<script>// some custom JS for this page only</script>
<script src="js/for/this/page.js"></script>
{% endblock %}
0 голосов
/ 19 марта 2019

Предположим, ваш base.html общий для всех других страниц.У вас есть несколько JS, которые являются общими для всех страниц.

Так что вы можете просто настроить base.html примерно так:

<body>
    <div class="footer">
       Footer info
    </div>
   <!---here include all JS-->
</body>
0 голосов
/ 19 марта 2019

Вы можете поместить HTML-код нижнего колонтитула в отдельный файл, а затем добавить {% include 'footer.html' %} в шаблоны, где требуется HTML-код нижнего колонтитула. Таким образом, в будущем вам нужно будет редактировать footer.html только тогда, когда вы хотите что-то изменить в нижнем колонтитуле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...