Ho impostato uno script per la ricerca interna al mio sito. Lo script è funzionante solo che vorrei migliorarlo potendo specificare url e keywords in un documento xml separato. Il file javascript dovrebbe quindi leggere i tag del file xml e su quelli impostare la ricerca.
vi posto qui il mio script, qualcuno sa come poterlo modificare per ottenere il risultato desiderato?
codice:
function nullOptions(aMenu){
tot=aMenu.options.length;
if (aMenu.options.length>0)
for (i=0;i<tot;i++){
aMenu.options[i]=null
}
aMenu.options.length=0;
}
function avviaRicerca(){
nullOptions(document.ricerca.risultato);
URLs=new Array()
titls=new Array()
Kwds=new Array()
URLs[0]="esercizi.xml";
titls[0]="Esercizi";
Kwds[0]="esercizi, esercizio, xml, xsl, css, java";
/*qst è solo un esempio, cmq ora ho qst 3 array in cui inserisco i riferimenti alle pagine del sito. Sono questi i valori che vorrei salvare in un file xml*/
var joined=new Array()
//crea un nuovo array unendo tutte le keywords
{
for (i=0;i<URLs.length; i++){
joined[i]=Kwds[i]
}
Searchphrase=document.ricerca.testoCercato.value
j=0;
checker=0;
if (document.ricerca.testoCercato.value.length<1){
alert('Inserisci la parola o la frase da ricercare.');
} else {
var myFoundURL=new Array();
var myFoundText=new Array();
for (i=0;i<URLs.length; i++){
if (joined[i].indexOf(Searchphrase.toLowerCase())>-1){
checker+=1;
j++;
myFoundURL[j]=URLs[i];
myFoundText[j]=titls[i];
}
}
if (checker>0){
document.ricerca.risultato.options[0]=new Option('Risultati: '+checker,'')
for (j=1;j<checker+1;j++){
document.ricerca.risultato.options[j]=new Option(myFoundText[j],myFoundURL[j]);
}
} else {
alert('Spiacente, nessun risultato corrisponde alla tua richiesta.')
}
}
}
}
function searchGo(){
if (document.ricerca.risultato.selectedIndex>0){
aux=document.ricerca.risultato.options[document.ricerca.risultato.selectedIndex].value;
xsl="";
/*qui sono presenti una serie di istruzioni che permettono di attribuire al documento il corretto foglio di stile*/
caricaDocumento(aux, xsl); //funzione che carica effettivamente il documento
}
else {
alert("Seleziona un'opzione nel riquadro a lato.")
}
}