0

单击按钮时,我想在 ajax 中动态包含一个 js 文件。我基本上想要做的是我想在单击按钮时加载地图。为此,我使用了两个文件:

<script type="text/javascript" src="http://maps.google.com/maps?..."></script>
<script type="text/javascript" src="jquery.gmap-1.1.0-min.js"></script>

现在我想要的是,当用户单击一个按钮时,这两个文件会被加载,并且地图会在没有刷新页面的情况下显示。

此外,当用户单击按钮并且这两个脚本已加载时,第二次单击它不会使脚本再次加载。

对此问题的任何帮助将不胜感激。


谢谢您的回复。无论如何,我尝试使用 $script 和 RequireJs 来执行此操作,但地图无法加载。

这是我编写的代码:

<script type="text/javascript" src="../js/jquery-1.7.js"></script>
<script src="../js/script.js"></script>
<script>
function googlemaps()
{
  $script('"http://maps.google.com/maps?file=api&..', 'maps', function() 
  {
      $script('../js/jquery.gmap-1.1.0-min.js', 'jquery', function() {
      $("#map").gMap({address: "USA", markers: [{address: "USA"}]});
      });
  });
}
</script>

<input name="Butoon" type="button" value="Button" onclick="javascript: googlemaps();" />

<div id="map"></div>

我得到的错误是:“G_NORMAL_MAP 未定义”和“GMap2 未定义”(错误出现是因为 jquery.gmap-1.1.0-min.js 在 http://maps.google.com/之前加载maps?file=api& .. 加载)。使用 RequireJs 时重复相同的错误。你能说我在哪里犯错吗?

提前致谢。

4

1 回答 1

3

你应该看看一些脚本/模块加载器,比如$criptRequireJS。基本上,他们做同样的事情,甚至更多。

于 2012-04-21T09:44:29.153 回答