2010-12-14 22 views
0

J'ai Google CST intégré utilisant ceci:Google CSE (moteur de recherche personnalisé) - Comment déterminer l'utilisateur terme recherché (en utilisant jQuery)?

google.load('search', '1', {language : 'en', style : google.loader.themes.SHINY}); 
google.setOnLoadCallback(function() { 
var options = {}; 
options[google.search.Search.RESTRICT_EXTENDED_ARGS] = {'sort': 'date'}; 
var customSearchControl = new google.search.CustomSearchControl('',options); 
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); 
customSearchControl.draw('cse'); 

Je voudrais déterminer/afficher le terme de recherche les recherches des utilisateurs pour, mais je ne peux pas sembler obtenir le terme de recherche de Google CSE entrée après que l'utilisateur clique sur "rechercher".

Comment est-ce que je peux faire ceci?

Répondre

0

Si les termes de recherche ne sont pas disponibles dans l'en-tête retourné, je me demande si vous ne pouvez pas accéder à la requête ajax actuelle, puis utilisez jquery pour accéder à l'objet d'en-tête. Je sais que lorsque vous effectuez une recherche régulière sur google, les mots-clés sont transmis dans l'en-tête.

+0

Je suis tout à fait n00b, alors ma réponse sera limitée, mais: Je l'ai fait une recherche et a obtenu les résultats. J'ai utilisé Firebug pour regarder la source de la page. Je n'ai trouvé mon terme de recherche nulle part. Cela est-il lié à votre commentaire? –

+0

ce serait dans les données d'en-tête revenant de la requête ajax – dstarh

2

Cela devrait l'obtenir:

var customSearchControl = new google.search.CustomSearchControl('your key'); 
customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET); 

// add this  
customSearchControl.setSearchStartingCallback(this, 
     function(sc, searcher, query) { 
      alert(query); 
      // or do whatever you want with it here. 
     } 
);