Forum de discussion
Forum « Programmation Javascript » (archives)
Re: moteur de recherche récalcitrant
Envoyé: 4 mai 2005, 4h35 par err747
<SCRIPT language=javascript>
// Script développé par Olivier Hondermarck
// D'autres scripts sur http://www.toutjavascript.com
// Utilisation gratuite à condition de laisser ces commentaires
// Création de la base de données
var tjs_base=new TJS_InitBase("_self");
// TJS_InitBase(target) : target="_blank" pour ouvrir dans une nouvelle page
tjs_base.Add("smusique.html","Page générale sur la musique","musique,zique,music,disque,cd");
tjs_base.Add("scinema.html","Page générale sur le cinéma","cine,cinoche,cinéma,cinema,acteur,film");
tjs_base.Add("srock.html","Page sur le rock","rock,rock and roll, rock n' roll,musique");
tjs_base.Add("su2.html","Page sur le groupe U2","rock,musique,u2,U2");
tjs_base.Add("sclassique.html","Page sur la musique classique","musique,classique,violon,concert");
// COMPLETEZ ICI la base de données
// tjs_base.Add(page,titre,mots-clés)
function TJS_InitBase(target) {
this.nb_item=0;
this.target=target;
this.Add=AddItem;
this.Search=SearchItem;
}
function AddItem(page,desc,cle) {
var nb = this.nb_item;
var item = new Object;
item.page=page;
item.desc=desc;
item.cle=cle;
this[nb]=item;
this.nb_item++;
}
function SearchItem(txt) {
// txt contient le texte de la recherche
txt = unescape(txt);
txt = txt.replace(/\+/g," ");
var n=tjs_base.nb_item;
var indice=-1;
if (txt=="Saisir un mot clé") {alert("Entrez un mot pour la recherche"); }
else{
document.forms["tjs_search"].elements["mot"].value=txt;
var Z=""; var nb=0;
for (var i=0; i<n; i++) {
if (tjs_base[i].cle.toUpperCase().indexOf(txt.toUpperCase(),0)!="-1") {
Z+="<A target='"+tjs_base.target+"' href='"+tjs_base[i].page+"'>"+tjs_base[i].desc+"</A> <SMALL>("+tjs_base[i].page+")</SMALL><BR>"
nb++;
}
}
if (nb>0) {
if (nb==1) {Z="Un résultat trouvé pour la recherche sur [<B>"+txt+"</B>] : <BR>"+Z;}
else {Z=nb+" résultats trouvés pour la recherche sur [<B>"+txt+"</B>] : <BR>"+Z;}
}else{Z="Aucun résultat pour la recherche sur [<B>"+txt+"</B>]<BR>Vérifiez l'orthographe ou essayez un autre mot clé !";}
document.write(Z);
}
}
function TJS_Search(f) {
if (f.mot.value!=""){f.submit();}
}
function TJS_PrintResult() {
var url=document.location.href;
if (url.indexOf("?mot=",0) > 0) {
var mot=url.substring(url.indexOf("?mot=",0)+5);
SearchItem(mot);
}
}
</SCRIPT>
Réponses
|