76

次の名前の HTML ファイルがあります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>

そして、同じディレクトリのフォルダに別の JavaScript ファイルmap.jsを配置します。js

このコードは、HTML ファイルが読み込まれると正常に動作しますが、サーバーで実行すると動作しません。

私はバックエンド プログラミングに Python の Flask フレームワークを使用していますが、おもしろいことに、HTML ファイル内の JavaScript コードを展開すると、同じことがうまく機能します。唯一の問題は、外部ファイルにあります。

4

4 に答える 4

130

map.jsファイルを静的リソースとして提供します。

  • ファイルをstatic/パッケージのサブディレクトリに移動します

  • 次のように、Jinja2 テンプレートで静的 URL を生成します。

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

パラメータはfilename相対パスを取ります。サブディレクトリを使用することが必要でした。

于 2013-02-05T15:57:43.693 に答える