如何在使用主模板

时间:2016-07-31 13:55:51

标签: javascript jquery html

我正在使用大致看起来像这样的主模板

<!DOCTYPE html>
<html lang="en">
    <head>
        // load css files
    </head>
    <body> 
        {% block body %}{% endblock %}
        // load js files including jquery 
    </body>
</html>

现在我的应用的所有其他网站都是这样的

{% extends "master.html" %}

{% block body %}  
    // site content
{% endblock %}

对于每个网站,我都有一些特定的javascript代码,我把它放在了主体块的末尾。但这意味着在加载javascript之前加载此jquery(在主模板中完成)。由于body标记中的某些javascript需要jquery(例如$(document).read() function)我会收到错误。简单的解决方案是在每个body标记中分别包含jquery。然而,这开始破坏主模板的重点......有没有更好的解决方案? 谢谢 卡尔

编辑:对不起,我忘了说我目前的解决方案是在身体之前加载jquery,但google pagespeed抱怨这个,所以我一直在寻找更好的解决方案

1 个答案:

答案 0 :(得分:0)

如果您的{% block body %}扩展文件中的脚本依赖于 jQuery ;如果是这样,建议在head

master.html上加载jQuery
<!DOCTYPE html>
<html lang="en">
    <head>
        // load css files
        //load jQuery --------------!!!!!!
    </head>
    <body> 
        {% block body %}{% endblock %}
        // load js files excluding jquery 
    </body>
</html>