2013-02-05 5 views
22

ich eine HTML-Datei showMap.html genannt habenexternen JavaScript-Datei wird nicht hinzugefügt wurden, wenn läuft auf Kolben

<!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 eine andere Javascript-Datei map.js im js Ordner des gleichen directory.This Code platziert funktioniert gut, wenn die html-Datei geladen ist. Aber das funktioniert nicht, wenn ich es im server.I benutze Python-Flasche-Framework für Back-End-Programmierung. Und die lustige Sache ist, dass das gleiche gut funktioniert, wenn ich den Javascript-Code erweitern in der html-Datei. Das einzige Problem ist mit der externen Datei.

Antwort

53

Servieren Sie die map.js Datei als static resource:

  • bewegen Sie die Datei auf einem static/ Unterverzeichnis Ihres Pakets

  • wie so eine statische URL für sie in einer Jinja2 Vorlage erzeugen:

    <script type="text/javascript" src="{{ url_for('static', filename='map.js') }}"></script> 
    
+0

Noch sind Ich habe ein statisches Unterverzeichnis hinzugefügt und die jinja2-Vorlage wie oben angegeben verwendet. Soll ich während des Renderns ein Argument vom Python übergeben? Oder irgendwelche anderen Systemänderungen sind vorhanden bewerben ?? – Tony

+2

@Tony: Funktioniert 'http: // localhost: 5000/static/map.js'? Wenn Sie Ihre Vorlage "showMap.html" rendern, enthält sie die URL "static/map.js" in der Quelle? –

+0

No.it zeigt nur http://127.0.0.1:5000/ – Tony

1

Schritt 1: Ordner erstellen mit dem Namen statisch auf Projektstamm

Schritt 2: hinzufügen statische Dateien in statischen Ordnern

Schritt 3 in hinzufügen Vorlage

<script type="text/javascript" src="{{ url_for('static', filename = 'hello.js') }}"></script>