我可以在标记之前将JS脚本放在页脚上方而不是页脚下方

时间:2019-03-19 13:41:34

标签: javascript python html django

我有一个用Django构建的网站。

问题:我们当前有超过50个页面,并且每个页面上的页脚HTML代码完全相同。在对页脚进行一些更改时,我已经厌倦了必须编辑所有这些页面的事情。

可能的解决方案:将页脚直接插入django基本页面中。

潜在的问题:如果我在页脚中插入页脚,则页脚和标记之间的所有单个JS脚本都会丢失-显然这些脚本是特定于页面的。那么在页脚之前可以有特定的JS脚本吗?这样一来,页脚就可以轻松轻松地进入基础,但是我不确定是否可以这样做。在页脚之前移动脚本会出错吗?

谢谢

3 个答案:

答案 0 :(得分:1)

是的,您可以在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 %}

答案 1 :(得分:0)

您可以将页脚HTML放入其自己的文件中,然后在需要页脚HTML出现的模板中添加{% include 'footer.html' %}。这样,将来您只需要在希望更改页脚中的内容时才编辑footer.html。

答案 2 :(得分:0)

假设您的base.html对所有其他页面都是公用的。您有一些所有页面都通用的JS。

因此,您可以调整base.html这样的内容:

<body>
    <div class="footer">
       Footer info
    </div>
   <!---here include all JS-->
</body>