2010-02-11 5 views
1

J'ai un problème lors du chargement des API AJAX Google en réponse à la saisie par l'utilisateur au lieu du chargement de la page.Google AJAX API Loader

Cela fonctionne:

<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    google.load("search", "1"); 
    google.setOnLoadCallback(function() { alert("loaded"); }); 
</script> 

Mais cela ne:

<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
    function clicked() { 
     google.load("search", "1"); 
     google.setOnLoadCallback(function() { alert("loaded"); }); 
    } 
</script> 

Le cliqués fonction est un gestionnaire pour un simple lien.

Est-ce que quelqu'un sait pourquoi?

+0

Ce qui appelle exactement 'clicked()'? – cletus

+0

clicked() est une fonction appelée quand un lien est cliqué. Load stepanian

+0

Il n'y a rien de mal avec le lien et son fonctionnement. Je l'ai testé en mettant un appel d'alerte dans la fonction clicked(). – stepanian

Répondre

3

En fonction de la réponse d'IE, il est possible que les API Google AJAX n'aient pas été chargées au moment où vous cliquez sur le bouton, l'objet "google" n'est donc pas défini.

Essayez cette (http://code.google.com/apis/ajax/documentation/):

function mapsLoaded() { 
    var map = new google.maps.Map2(document.getElementById("map")); 
    map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13); 
} 

function loadMaps() { 
    google.load("maps", "2", {"callback" : mapsLoaded}); 
} 

function initLoader() { 
    var script = document.createElement("script"); 
    script.src = "http://www.google.com/jsapi?key=ABCDEFG&callback=loadMaps"; 
    script.type = "text/javascript"; 
    document.getElementsByTagName("head")[0].appendChild(script); 
} 
+0

A travaillé! Merci beaucoup! Il était juste devant moi dans les docs et je ne l'ai pas vu. Et je n'étais pas sur le point de regarder à nouveau les docs en supposant que j'avais déjà tout vu. Vous m'avez probablement sauvé des HEURES de recherche. Merci encore. – stepanian