Externe JavaScript-Datei wird nicht Hinzugefügt bekommen, wenn auf Kolben
Ich habe eine HTML-Datei mit dem Namen showMap.html
:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Map</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript" src="js/map.js"></script>
</head>
<body onload="showPosition()">
<div id="map_canvas" style="width:500px;height:500px;"></div>
</body>
</html>
Und anderen JavaScript-Datei map.js
in der js
Ordner das gleiche Verzeichnis.
Dieser code funktioniert gut, wenn die HTML-Datei geladen wird, aber das funktioniert nicht wenn ich es in der server.
Ich benutze Python-Flask-framework für den back-end-Programmierung und das lustige an der Sache ist, dass die gleiche Sache, auch wenn ich erweitern Sie den JavaScript-code innerhalb der HTML-Datei. Das problem ist nur mit der externen Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dienen der
map.js
Datei als statische Ressource:verschieben Sie die Datei auf eine
static/
Unterverzeichnis des Paketserzeugen eine statische URL für die es in einer Jinja2 template so auf:
/static
, die dazu dient, alles unter derstatic
Verzeichnis als dokumentiert in der quickstart. Wenn Sie brauchen, um zu dienen Daten aus mehreren Verzeichnissen, würden Sie brauchen, um mehr zu erstellen, dass solche Ansichten (wie genau, ist zu lange zu erklären, in einem Kommentar).Schritt 1:
Erstellen Sie Ordner mit Namen statisch in der Projekt-root -
Schritt 2:
Fügen Sie statische Dateien in statische Ordner
Schritt 3
Fügen Sie in der Vorlage
Ich das gleiche Problem Auftritt, für das stylesheet, der URL_FOR funktioniert, aber für javascript.
Ich hatte zu schreiben
War für mich
Möchte ich hinzufügen, dass auf Martijn ' s Antwort, dass Sie haben, verknüpfen Sie Ihre js-Datei, genau wie diese:
<script type="text/javascript" src="{{ url_for('static', filename='map.js') }}"></script>
und nicht wie hier:
<script type="text/javascript" src="{{ url_for('static', filename='map.js') }}"/>