2012-04-21 4 views
0

Я хочу включать js-файл динамически в ajax при нажатии на кнопку. То, что я в основном хочу сделать, это то, что я хочу загрузить карту при нажатии на кнопку. Для этого я использовал два файла:Динамическая загрузка js-файла в ajax

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

Теперь то, что я хочу, что, когда пользователь нажимает на кнопку, то эти два файла загружаются и карта получает отображается без страницы получать обновления.

Также, когда пользователь нажал кнопку, и этот два сценария был загружен, а затем щелкнуть его второй раз, он не заставит загрузку скрипта снова.

Любая помощь в этом вопросе будет высоко оценена.


Thnx для вашего ответа. В любом случае я попытался сделать это, используя $ script и RequireJs, но карта не смогла загрузить.

Вот мой код, который я wriiten:

<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. Может быть, вы скажете, где я? , совершив ошибку.

Заранее спасибо.

ответ

3

вы должны взглянуть на некоторые загрузчики сценариев/модулей, например $cript и RequireJS. в основном, они делают то же самое и многое другое.