Tutoriels Trucsweb
          

 

Niveau : DÉBUTANT
Compatibilité : Tous les navigateurs

  Ajouter aux favoris  Envoyer à un ami  Version imprimable

Recherche sur un choix de moteurs distants

Avec option de recherche locale via « Google »

   par Django (Oznog) Blais, Trucsweb (9 Décembre 2003)


Savez-vous que vous pouvez indiquer à « Google » de limiter sa recherche sur un domaine particulier? C'est non seulement une solution simple et économique, mais aussi très performante. Le script proposé ici permet le choix de plusieurs moteurs de recherche via un bouton radio.

Pour régler le cas de « Google », que certains sites professionnels utilisent avec succès, sachez qu'il suffit d'ajouter à la requête le mot « site: » suivit de votre domaine : « site:trucsweb.com ».

Exemple : http://www.google.com/search?q=Flash+site:www.trucsweb.com

 

Création du formulaire
Le formulaire peut avoir ou non une action par défaut, mais, avec une action par défaut, la méthode devient importante. Capturer l'envoie du formulaire (l'événement « onsubmit ») afin d'acheminer la requête et le choix du moteur à la fonction Javascript « twMultiRech». Noter l'importante présence du « return » qui permet par la suite d'anuler ou non l'envoie du formulaire à l'action par défaut.

<form name="maRecherche" onSubmit="return twMultiRech(this.q.value,this.moteurs);">

  • Le formulaire demande au moins un champ texte, « Google » identifie la chaîne de recherche par "q" alors pourquoi pas?.
  • Les « boutons radio » pour sélectionner la recherche, autant de bouton que de moteurs de recherche. En autant qu'ils aient tous le même nom, pourquoi pas "moteurs" (avec un "s" car c'est un tableau (array) avec plusieurs boutons!).
  • Et enfin le bouton d'envoie, un type « submit » tout simplement.

En d'autres mots :

<form name="maRecherche" onSubmit="return twMultiRech(this.q.value,this.moteurs);">
<input type="text" name="q" size="15" maxlength="255" value="" />
<input type="radio" name="moteurs" value="1" checked>Moteur #1
<input type="radio" name="moteurs" value="2">Moteur #2
<input type="radio" name="moteurs" value="3">Moteur #3
<input type="submit" name="Submit" value="Recherche">
</form>

On peut voir dans l'exemple 3 moteurs différent (et un 4ième possible avec une action par défaut).

<form name="maRecherche" action="recherche.asp" method="post" onSubmit="return twMultiRech(this.q.value,this.moteurs);">
<input type="text" name="q" size="15" maxlength="255" value="" />
<input type="radio" name="moteurs" value="1" checked>Moteur #1
<input type="radio" name="moteurs" value="2">Moteur #2
<input type="radio" name="moteurs" value="3">Moteur #3
<input type="submit" name="Submit" value="Recherche">
</form>

 

La fonction « twMultiRech »
C'est donc la fonction qui fait tout le travail, soit d'identifier le moteur et construire la requête correspondante sur la bonne adresse. On teste donc en premier lieu la valeur de notre bouton radio « moteurs » qui va ainsi :

function twMultiRech(_chaine,_type) {
  if (_type[1].checked) {
    // Le moteur #1
  }
  if (_type[2].checked) {
    // Le moteur #2
  }
  if (_type[3].checked) {
    // Le moteur #3
  }
}

Exemple de recherche locale avec « Google » sur la même page. Changer le url du document avec la chaine de recherche, j'ai ajouter la recherche locale sur le domaine des Trucsweb.com.

location.href = ("http://www.google.com/search?lr=lang_fr&cr=&q="+ _chaine + '+site:www.trucsweb.com');

Exemple sur une nouvelle page avec Window.open. Le même principe mais en forcant une nouvelle page.

var sUrl = "http://www.google.com/search?lr=lang_fr&cr=&q="+ _chaine + '+site:www.trucsweb.com');
window.open(sUrl,'Google','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');

Le « return »
Il ne faut surtout pas oublier d'annuler l'événement du « submit » sinon l'action par défaut sera automatiquement provoquée. Pour ce faire le mot « return » a été ajouté avant l'appel de la fonction. Ce mot attend tout simplement que la fonction lui retourne "vrais" ou "faux" (true/false).

// Retourner "faux" (false) pour annuler l'action par défaut ou plutôt le comportement « submit »
return false;

 

Exemple suivit du code complet :


Moteur par défaut
Moteur #1 Google locale
Moteur #2 Google locale nouvelle page
Moteur #3 Google nouvelle page

 

function twMultiRech(_chaine,_type) {
  if (_type[2].checked) {
    // Le moteur #2 - Google locale nouvelle page
    var sUrl = 'http://www.google.com/search?lr=lang_fr&cr=&q='+ _chaine + '+site:www.trucsweb.com';
    window.open(sUrl,'Google','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
    return false;
  }
}

Exemple complet :

<html><head>
<title>Trucsweb - Recherche sur un choix de moteurs distants</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" language="javascript">
function twMultiRech(_chaine,_type) {
  // Script gatuit des Trucsweb.com
  if (_type[0].checked) {
    // L'action par défaut
    // return false; mais il l'est par défaut!
  }
  if (_type[1].checked) {
    // Le moteur #1 - Google locale
    location.href = 'http://www.google.com/search?lr=lang_fr&cr=&q='+ _chaine + '+site:www.trucsweb.com';
    return false;
  }
  if (_type[2].checked) {
    // Le moteur #2 - Google locale nouvelle page
    var sUrl = 'http://www.google.com/search?lr=lang_fr&cr=&q='+ _chaine + '+site:www.trucsweb.com';
    window.open(sUrl,'Google','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
    return false;
  }
  if (_type[3].checked) {
    // Le moteur #3 - Google nouvelle page
    var sUrl = 'http://www.google.com/search?lr=lang_fr&cr=&q='+ _chaine;
    window.open(sUrl,'Google','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes');
    return false;
  }
}
</script>
</head>

<body bgcolor="#FFFFFF"><h3>Recherche sur un choix de moteurs distants</h3>
<form name="maRech" action="http://www.trucsweb.com/Recherche/default.asp" method="post" onSubmit="return twMultiRech(this.rech.value,this.moteurs);">
<input type="text" name="rech" size="15" maxlength="255" value="" /><input type="submit" name="Submit" value="Recherche">
<br /><input type="radio" name="moteurs" value="0" checked="checked"> Moteur par défaut<br /
><input type="radio" name="moteurs" value="1"> Moteur #1 Google locale<br />
<input type="radio" name="moteurs" value="2"> Moteur #2 Google locale nouvelle page<br />
<input type="radio" name="moteurs" value="3"> Moteur #3 Google nouvelle page
</form>
</body>
</html>

 Début de la page


TrucswebTrucsweb


Fil d'info Trucsweb


 
sp

 
sp
 S U I T E   D U   S U J E T 
sp
Moteur de recherche pour votre site : 100% Javascript et autres services gratuits

Hébergement de qualité!

partenaire
Rechercher un tutoriel!
 
 
sp
 C O M M A N D I T E S 
sp






 
sp
 T U T O R I E L S 
sp
· ASP / VBscript
· C/C++
· CSS
· DHTML
· CGI / Perl
· HTML
· Java/JSP
· Javascript
· PHP
· SSI
· WAP/WML
· XML/XSL
· Infographie
· Flash et Shockwave
· Audiovisuel
· Hébergement
· Analyses de logiciels
· Internet et Protocoles
· Veille intégrée
· Référencement
· Sécurité
· Outils gratuits
 
sp
 F O R U M S 
sp
· Forum Javascript
· Forum HTML/CSS
· Forum ASP/VBScript
· Forum Flash
· Tous les forums
 
sp
 S E R V I C E S 
sp
Generateur Trucsweb
· Générateur
· Répertoire
· Logithèque
· Glossaire
· Forum
· Nouveautés Dev Zone
· Ajouter un site
· Ajouter un logiciel
· Ajouter un tutoriel
· Fil d'info sur votre site
· Tester votre site
 
sp
 A P P L I C A T I O N S 
sp
· twCompteur 1.0 Nouveau
· twCalende 1.0 Nouveau
· twLiMenu 1.0 Nouveau
· twValide 2.2 sp
· twAliste 1.0 sp
· twASPDate 2.0 sp
· twASPLivre 1.0 sp
 
sp
 R É F É R E N C E S 
sp
· W3C HTML 4.0
· W3C XHTML 1.0
· Web Design Group
· W3C SMIL 2.0
· W3C XML 1.0
· XML Cover Pages
· W3C CSS LEVEL 2
· Netscape Javascript 1.5
· Netscape Javascript 1.4
· Netscape Javascript 1.3
· Netscape DHTML
· Gecko DOM ref.
· IE DHTML
· VBScript Language Ref.
· JScript Language Ref.
· ASP Object Quick Ref.
· ADO API Reference
· Microsoft IIS5
· MSDN Library
· RFC Editor Site
· HTML 4.0 code de caractères
· Unicode fonts
· Manuel PHP
· Documentation Perl
· Perl 5 Reference Guide
· Flash actionscript FAST
· ActionScript dictionary
· MySQL Manual
· SQL Pro (F. Brouard)
· Java Language Spec.
· Java 2 SDK Doc. V1.3.1
· JavaServer Pages Ref.
· C/C++ Language Ref.
· Python Library Reference
· Les Navigateurs
· Terminologie d'Internet
· Traduction
· Traduction systran
· Traduction d'interface client
· Extensions de fichiers
· Virus Wildlist
· Virus Alerts
 
sp
 D O M A I N E S 
sp
iWeb

iWeb
 
sp
 C O P Y R I G H T  
sp

 

accueil | tutoriels | logithèque | répertoire | forum



© 1997-2006
Django (Oznog) Blais
Rivière-du-Loup, Québec
Ajouter à votre Sidebar  RSS 1.0
 
Conception Oznog co. Multimédia


Hit-Parade    Tout navigateurs   

9 visiteurs

webmaster@summummag.com - webmaster@summummag.com - webmaster@summummag.com webmaster@summummag.com - webmaster@summummag.com
casting@summummag.com webmaster@summummag.com john@fueldigitalmedia.com mlavoie@summummag.com tmmw@sympatico.ca marty@cmcmediasales.com pdemers@genexcommunications.com mleclerc@summummag.com creation@summummag.com aroy@summummag.com redaction@summummag.com