我目前正在使用Django进行项目,而我的脚本标签有一个奇怪的问题。 我有一个layout.html文件,其中头部包含Jquery和Bootstrap。使用jinja,我正在为新文件main.html扩展layout.html。在我的新文件中,我现在包含一个新脚本,因为该脚本是此页面特有的。
我遇到的问题是,除非在main.html内再次包含Jquery,否则此新脚本在main.html中不起作用。拜托,我想知道对此是否有解释?还是我想念什么?
layout.html file
<html>
<head>
// script to include jquery here, version 3.3.1
// other scripts include, bootstrap.js, popper.js, knockout.js
</head>
<body>
{ block content % }
{ % endblock % }
</body>
</html>
main.html示例
main.html
{ % extends "layout.html" %} {% block content %}
// This new script below only works if jquery is included here
// new script here
<div> </div>
{% endblock %}
我还使用了基因敲除(snockout.js),从中我在文档加载时从新脚本中调用函数。新脚本需要Jquery,但我不明白为什么除非它包含在同一文件中,否则为什么找不到jquery。当我在main.html文件中包含JS时,我也会得到和出错,因为jquery应该在bootstrap.js之前包含。
请,如果有人遇到类似问题或者有人可以向我解释这一点,我将感到高兴。
这是layout.html的标题:
<head>
<title>Suggesto</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- font awesome-->
<link
rel="stylesheet"
href="https://use.fontawesome.com/releases/v5.7.0/css/all.css"
/>
<!-- Js-cookie-->
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<!--Jquery-->
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"
></script>
<!-- Popper.js-->
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"
integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
crossorigin="anonymous"
></script>
<!-- Bootstrap.js-->
<script src="/static/bootstrap/js/bootstrap.js"></script>
<!-- Font -->
<link
href="https://fonts.googleapis.com/css?family=Noto+Serif+SC|Open+Sans|Quicksand|Montserrat"
rel="stylesheet"
/>
<!--Knockout.js-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
{% load staticfiles %}
<link
rel="stylesheet"
href="/static/bootstrap/css/bootstrap.css"
type="text/css"
/>
<link rel="stylesheet" href="/static/css/mainpage.css" type="text/css" />
</head>
main.html像这样启动
{%extends "mainpage/layout.html" %} {% block content %}
<script src="/static/js/jquery.session.js"></script>
<link
rel="stylesheet"
href="/static/css/star-rating.min.css"
media="all"
type="text/css"
/>
<script src="/static/js/star-rating.min.js"></script>
<script src="/static/js/suggest.js"></script>
<link rel="stylesheet" href="/static/css/suggest.css" type="text/css" />
<!-- Start -->
<div class="container" id="Page">
答案 0 :(得分:0)
它最终是Knockoutjs的函数:
ko.cleanNode( )
我不知道此功能的作用是什么,要看的东西。如果您知道更多,请随时提供更多详细信息。