簡體   English   中英

使用flask在html中調用外部Javascript函數,顯示未定義的函數

[英]Calling an external Javascript function in html using flask, showing function not defined

我正在使用燒瓶來{%extends“base.html”%}並插入{%block js_file%},然后我調用.js文件中定義的函數,但未定義未捕獲的referenceerror。 我有一個base.html包含所有頁面中的所有基本元素。 看起來像

<!DOCTYPE html>
<html>
    <head>
        <title>
            {% block title %}{% endblock %}
        </title>
        <!--css file code-->
        {% block cssfile %}{% endblock %}
        <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='header.css') }}">
    </head>
    <body> 
        ...
         {% block content %}{% endblock %}
         ...
         {% block js_files %}{% endblock %}
    </body>
    ....

然后在一個名為mark.html的特定頁面中,我首先擴展並插入元素,並希望在單獨的functions.js文件中測試函數:

{% extends "base.html" %}
{% block cssfile %}
    <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='mark.css') }}">
{% endblock %}

{% block title %}
    Mark
{% endblock %}

{% block js_files %}
    <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous">
    <script src="{{ url_for('static', filename='functions.js') }}"></script>
{% endblock %}

{% block content %}
    ....
    <script>warn();</script>
    ....
{% endblock content %}

functions.js只有一個測試功能:

function warn(){
    alert('fired');
};

最后,在Chrome開發者工具中,擴展頁面看起來像

<!DOCTYPE html>
<html>
    <head>
        <title>
            Mark
        </title>
        <!--css file code-->
        <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='mark.css') }}">
        <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='header.css') }}">
    </head>
    <body> 
        ...
         <script>warn();</script>
         ...
         <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous">
        </script>
        <script src="/static/functions.js"></script>
    </body>
    ....

結構看起來很好,但它沒有被捕獲的referenceerror沒有定義。 我是web div的新手,所以這個問題可能很愚蠢,但我感謝任何幫助!

我想,這與裝貨訂單有關。 因為我使用{% extends "base.html" %}並插入{%block js_file%}所以排序令人困惑。 我通過在base.html中使用適當的鏈接來解決這個問題,因為這是所有內容的延伸,所以它肯定會首先加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM