Подключить внешний Javascript к Flask

Я пытаюсь получить координаты экрана по клику. Я написал очень простой код для того же самого. Я не могу подключить свой внешний файл js к Flask.

Когда я запускаю файл .html, код работает отлично. Когда я подключаю его через Flask, я пробовал включить Javascript в сам HTML-код, и даже это работает. Но когда часть Javascript подключена через файл .js, часть в файле .js не работает. Я не вижу никаких ошибок, поэтому становится трудно отлаживать.

Скрипт Python:

from flask import Flask, render_template, url_for

app = Flask(__name__)

@app.route('/')
@app.route('/button_click')
def button_click():
    return render_template('button_click.html')

if __name__ == '__main__':
    app.run(debug=True)

HTML-код:

<html>
    <head><title> Button Click </title></head>
    <body>
        <div id = "example">
        </div>
        <script type = "text/javascript" src = "{{ url_for('static', filename='button_click.js') }}"> </script>
    </body>
</html>

Javascript-код:

function printMousePos(event) {
    document.body.textContent =
    "clientX: " + event.clientX +
    " - clientY: " + event.clientY;
}

document.addEventListener("click", printMousePos);
Expected Result:
clientX: 93 - clientY: 113

Actual Result:
No change on screen

Ваш код работает, как и ожидалось, в моей среде (последняя версия Arch Linux + Google Chrome). Проверьте инструмент разработчика браузера и посмотрите, что происходит.

ymonad 21.01.2019 07:09

тоже работает windows, python3.6, убедитесь, что вы поместили статический файл в нужное место.

jia Jimmy 21.01.2019 07:21

<html> <head><title> Нажмите кнопку </title></head> <body> <script type = "text/javascript" src = "{{ url_for('static', filename='button_click.js') }}"> </script> <div id = "example"> </div> </body> </html> Я только что внес небольшое изменение. Я переместил тег сценария над тегом div, и код заработал. Почему так?

Srushti Mehatkar 21.01.2019 07:45

Вы можете воспроизвести проблему, чтобы изменить ее обратно

jia Jimmy 21.01.2019 07:53

Проверьте консоль разработчика браузера, возможно, вы найдете ошибку. Кстати, при добавлении прослушивателя вы должны убедиться, что отображается вся страница: поместите этот код в onload.

hunzter 21.01.2019 08:04

Я не знаю, имеет ли это значение, но менять весь document.body.textContent немного странно, так как тело содержит тег <script ...>. возможно, вам следует поместить скрипт вне тела.

ymonad 21.01.2019 08:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
6
652
0

Другие вопросы по теме