par
caroube » 28 mai 2009, 20:57
Bonjour,
J'utilise les api ajax de Google pour lancer des recherches. Afin de pouvoir établir des statistiques sur les clics sortants à partir de la recherche, j'aimerais mettre en place un événement onclick sur les liens fournis par Google.
Pour l'instant, je suis arrivé à ça :
Code : Tout sélectionner
<div id="cse" style="width:100%;"">Chargement</div>
<style>
.gs-result { display : none; }
</style>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1');
function onload () {
var searchControl = new google.search.SearchControl();
var webSearch = new google.search.WebSearch();
searchControl.addSearcher(webSearch);
searchControl.setLinkTarget(google.search.Search.LINK_TARGET_BLANK);
searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET);
searchControl.setSearchCompleteCallback (this, MySearch),
searchControl.draw(document.getElementById("cse"));
}
function MySearch (sc, searcher) {
var results = searcher.results;
var showresults = document.getElementById('showresults');
for (var i = 0; i < results.length; i++) {
var result = results[i];
var ltitle = result.title;
var lurl = result.url;
var lcontent = result.content;
var visibleURL = result.visibleURL;
showresults.innerHTML += '<a onclick="alert(\'test\');" href="'+lurl+'">'+ltitle+'</a><br />'+ lcontent + '<br /><br />';
}
}
google.setOnLoadCallback(onload, true);
</script>
Mes résultats en dessous
<hr />
<div id="showresults"></div>
C'est-à-dire que je lance la recherche, je récupère les résultats (fonction MySearch) et je les affiche en insérant mon événement onlick (ici un simple affichage du mot test).
J'arrive, avec les quelques élements fournis par la doc des API Google, à masquer les résultats de recherche (display: none en tête de fichier - désactivez-le pour voir la différence). Mais je n'arrive pas à trouver la doc qui donne le id permettant de masquer le bouton "Web" et les 3 icônes à droite qui apparaissent au-dessus des résultats.
Est-ce que quelqu'un connaît la class du div qui affiche ce bouton ? Ou alors est-ce que quelqu'un sait comment faire pour que le résultat de la requête ne soit pas affiché (dans ce cas, il n'y a pas besoin de masquer). Ou encore, est-ce que quelqu'un sait comment on affiche le source envoyé via AJAX au navigateur (dans ce cas, je pourrais aller voir le class) ?
Je n'ai rien vu dans la doc
http://code.google.com/apis/ajaxsearch/ ... GwebResult
Merci de votre réponse
Bonjour,
J'utilise les api ajax de Google pour lancer des recherches. Afin de pouvoir établir des statistiques sur les clics sortants à partir de la recherche, j'aimerais mettre en place un événement onclick sur les liens fournis par Google.
Pour l'instant, je suis arrivé à ça :
[code]
<div id="cse" style="width:100%;"">Chargement</div>
<style>
.gs-result { display : none; }
</style>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">
google.load('search', '1');
function onload () {
var searchControl = new google.search.SearchControl();
var webSearch = new google.search.WebSearch();
searchControl.addSearcher(webSearch);
searchControl.setLinkTarget(google.search.Search.LINK_TARGET_BLANK);
searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET);
searchControl.setSearchCompleteCallback (this, MySearch),
searchControl.draw(document.getElementById("cse"));
}
function MySearch (sc, searcher) {
var results = searcher.results;
var showresults = document.getElementById('showresults');
for (var i = 0; i < results.length; i++) {
var result = results[i];
var ltitle = result.title;
var lurl = result.url;
var lcontent = result.content;
var visibleURL = result.visibleURL;
showresults.innerHTML += '<a onclick="alert(\'test\');" href="'+lurl+'">'+ltitle+'</a><br />'+ lcontent + '<br /><br />';
}
}
google.setOnLoadCallback(onload, true);
</script>
Mes résultats en dessous
<hr />
<div id="showresults"></div>[/code]
C'est-à-dire que je lance la recherche, je récupère les résultats (fonction MySearch) et je les affiche en insérant mon événement onlick (ici un simple affichage du mot test).
J'arrive, avec les quelques élements fournis par la doc des API Google, à masquer les résultats de recherche (display: none en tête de fichier - désactivez-le pour voir la différence). Mais je n'arrive pas à trouver la doc qui donne le id permettant de masquer le bouton "Web" et les 3 icônes à droite qui apparaissent au-dessus des résultats.
Est-ce que quelqu'un connaît la class du div qui affiche ce bouton ? Ou alors est-ce que quelqu'un sait comment faire pour que le résultat de la requête ne soit pas affiché (dans ce cas, il n'y a pas besoin de masquer). Ou encore, est-ce que quelqu'un sait comment on affiche le source envoyé via AJAX au navigateur (dans ce cas, je pourrais aller voir le class) ?
Je n'ai rien vu dans la doc http://code.google.com/apis/ajaxsearch/documentation/reference.html#_class_GwebResult
Merci de votre réponse