Moteur de recherche interne
sinifer
Messages postés
312
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je fais un moteur de recherche sur js mais j'ai un petit problème quant je fai ma recherche une nouvel page s'ouvre mais je veu pas qu'une nouvel page s'ouvre je veu que ce soit sur la page comme une frame plus bas
voici mon code.
merci
je fais un moteur de recherche sur js mais j'ai un petit problème quant je fai ma recherche une nouvel page s'ouvre mais je veu pas qu'une nouvel page s'ouvre je veu que ce soit sur la page comme une frame plus bas
voici mon code.
var item = new Array(); // "La page","Son adresse","","Titre de la page","Mot clés","Description de la page" c=0; item[c]=new Array("","index.html","Index EvasionTotale","web, news","index, evasion, totale, home, premiere, page, sommaire","Première page de ce site"); c++; item[c]=new Array("","musique.html","De la musique sur votre site !","web, news","musique, mp3","Voilà une belle page pour mettre de la musique sur votre site !"); c++; item[c]=new Array("","web.html","NEWS DU WEB ?","web, news","Ici vous trouverez toutes l'actualité sur le web ......."); page="<html><head><title>Résultats de la recherche</title></head><body bgcolor='white'><center><table border=0 cellspacing=10 width=80%>"; function search(frm) { win=window.open("",""); win.document.write(page); txt = frm.srchval.value.split(" "); fnd = new Array(); total=0; for (i = 0; i < item.length; i++) { fnd[i] = 0; order = new Array(0, 4, 2, 3); for (j = 0; j < order.length; j++) for (k = 0; k < txt.length; k++) if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "") fnd[i] += (j+1); } for (i = 0; i < fnd.length; i++) { n = 0; w = -1; for (j = 0;j < fnd.length; j++) if (fnd[j] > n) { n = fnd[j]; w = j; }; if (w > -1) total += show(w, win, n); fnd[w] = 0; } win.document.write("</table><br>Pages trouvé(s): "+total+"<br></body></html>"); win.document.close(); } function show(which,wind,num) { link = item[which][1] + item[which][0]; line = "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> <br>"; line += item[which][4] + "<br></td></tr>"; wind.document.write(line); return 1; }
merci
A voir également:
- Moteur de recherche interne
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copernic Desktop Search - Télécharger - Utilitaires
- Rechercher ou entrer l'adresse 4 - recherche google ✓ - Forum Réseaux sociaux
4 réponses
Salut,
c'est normal que cela ouvre une autre page, tu as mis window.open
une piste:
dans ta page html, à l'endroit ou tu veux que s'écrive le résultat tu mets:
<div id="resultat">
</div>
dans ta fonction javascript, tu enleve de ta variable page les balises <html><head><body>
tu t'arranges pour mettre ton titre dans une ligne de la <table>
en fin de fonction JS, tu mets:
document.getElementById('resultat").innerHTML=page;
@lain
c'est normal que cela ouvre une autre page, tu as mis window.open
une piste:
dans ta page html, à l'endroit ou tu veux que s'écrive le résultat tu mets:
<div id="resultat">
</div>
dans ta fonction javascript, tu enleve de ta variable page les balises <html><head><body>
tu t'arranges pour mettre ton titre dans une ligne de la <table>
en fin de fonction JS, tu mets:
document.getElementById('resultat").innerHTML=page;
@lain
merci je vais testé tous sa :)
un truc dans ce gout là:
var item = new Array(); // "La page","Son adresse","","Titre de la page","Mot clés","Description de la page" c=0; item[c]=new Array("","index.html","Index EvasionTotale","web, news","index, evasion, totale, home, premiere, page, sommaire","Première page de ce site"); c++; item[c]=new Array("","musique.html","De la musique sur votre site !","web, news","musique, mp3","Voilà une belle page pour mettre de la musique sur votre site !"); c++; item[c]=new Array("","web.html","NEWS DU WEB ?","web, news","Ici vous trouverez toutes l'actualité sur le web ......."); page="Résultats de la recherche:<table border=0 cellspacing=10 width=80%>\n"; function search(frm,id_ecrire) { txt = frm.srchval.value.split(" "); fnd = new Array(); total=0; for (i = 0; i < item.length; i++) { fnd[i] = 0; order = new Array(0, 4, 2, 3); for (j = 0; j < order.length; j++) for (k = 0; k < txt.length; k++) if (item[i][order[j]].toLowerCase().indexOf(txt[k]) > -1 && txt[k] != "")fnd[i] += (j+1); } for (i = 0; i < fnd.length; i++) { n = 0; w = -1; for (j = 0;j < fnd.length; j++) if (fnd[j] > n) { n = fnd[j]; w = j; }; if (w > -1) total += show(w, win, n); fnd[w] = 0; } page+="</table><br>Pages trouvé(s): "+total+"<br>\n"; //ecriture du result dans la page document.getElementbyId[id_ecrire].innerHTML=page; } function show(which,wind,num) { link = item[which][1] + item[which][0]; page+= "<tr><td><a href='"+link+"'>"+item[which][2]+"</a> <br>"; page+= item[which][4] + "<br></td></tr>\n"; return 1; } <body> l'appel de la fct JS: search(....,'resultat') a l'endroit ou tu veux ecrire le resultat: <div id="resultat"> </div> </body> </html>
salut j'ai fai comme tu ma dit mai là j'ai un petit problème je te onte mon code html
là c'est mon appel
et là mon body
je tien a te signalé que je débute donc soit indulgent stp car je sui sur que c'est une erreure bidon merci déjà pour tou ce que tu a fait
là c'est mon appel
<SCRIPT LANGUAGE="JavaScript" SRC="moteur.txt"> </SCRIPT>
et là mon body
<body> <p align="center">Votre moteur de recherche à inserer : </p> <TABLE WIDTH="141" BORDER=0 align="center" CELLPADDING=0 CELLSPACING=0> <TR> <TD <center> <form method=get action="javascript:void(0)" onsubmit="search(moteur.txt,'resultat'); return false;"> <table width="143"> <tr><td valign="middle" align="center" width="151"> <p align="center"> <input type=text name=srchval value="" size="18"> <input type=submit value="Votre recherche"> </p> <td> </td> <center> </form> </center> </table> <div align="center"> <div id="resultat"> </div> </body>
je tien a te signalé que je débute donc soit indulgent stp car je sui sur que c'est une erreure bidon merci déjà pour tou ce que tu a fait
enffette quant je met
search(....,'resultat')
^
||
ce qui va là c'est la première partie de mon frame??
et resultat sera la deuxième ???
ou je mélange tous?
search(....,'resultat')
^
||
ce qui va là c'est la première partie de mon frame??
et resultat sera la deuxième ???
ou je mélange tous?
Par cette methode, on ne travaille pas avec des frames.
Tu as des erreurs dans ton HTML
et dans tes tables c'est pas bon.
Essayes comme ça, je n'ai pas testé.
si ton script JS est le link du début, ton appel de fct JS n'est pas bon
search(moteur.txt,'resultat');
Le premier parametre moteur.tx ne doit pas être le nom du fichier qui contient la fonction mais la valeur à rechercher.
et mis entre '
Tu as des erreurs dans ton HTML
et dans tes tables c'est pas bon.
Essayes comme ça, je n'ai pas testé.
<body> <p align="center">Votre moteur de recherche à inserer : </p> <form method="get" action="javascript:void(0)" onsubmit="search(moteur.txt,'resultat'); return false;"> <table WIDTH="141" BORDER="0" align="center" CELLPADDING="0" CELLSPACING="0"> <tr> <td>Saisie:</td><td width="151"><input type="text" name="srchval" value="" size="18"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" name="recherche" value="Votre recherche"></td> </tr> </table> </form> <br> <div align="center" id="resultat"> </div> </body>
si ton script JS est le link du début, ton appel de fct JS n'est pas bon
search(moteur.txt,'resultat');
Le premier parametre moteur.tx ne doit pas être le nom du fichier qui contient la fonction mais la valeur à rechercher.
et mis entre '