Ayuda con codigo de buscador
Publicado por patricia (5 intervenciones) el 04/04/2017 22:08:42
Hola a todos.
Vaya por delante que soy una auténtica paleta en programación y no tengo ni idea. El caso es que quería poner un buscador en html en mi pagina web y he encontrado este, que no siendo el mejor, me vale perfectamente porque no tengo que hacer referencia a tablas ni nada.
El caso es que el resultado es un buscador que tiene como dos opciones: "Con todas las palabras" o "con alguna de las palabras". Yo quisiera que no saliera ninguna opción, es decir, que parezca un buscador normal y que no haya que elegir.
Me han dicho que tengo que tocar el código Javascript, pero de verdad que me hablan en chino. ¿Alguien puede decirme cómo se modificaría el código? Os lo dejo abajo. Y mil gracias a todos
Vaya por delante que soy una auténtica paleta en programación y no tengo ni idea. El caso es que quería poner un buscador en html en mi pagina web y he encontrado este, que no siendo el mejor, me vale perfectamente porque no tengo que hacer referencia a tablas ni nada.
El caso es que el resultado es un buscador que tiene como dos opciones: "Con todas las palabras" o "con alguna de las palabras". Yo quisiera que no saliera ninguna opción, es decir, que parezca un buscador normal y que no haya que elegir.
Me han dicho que tengo que tocar el código Javascript, pero de verdad que me hablan en chino. ¿Alguien puede decirme cómo se modificaría el código? Os lo dejo abajo. Y mil gracias a todos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<script language="JavaScript" type="text/javascript">
var indice_inverso={'BENEFICIOS':[1], 'ACEITE':[1], 'COCO':[1], 'CAPILARES':[1], 'COSMETICA':[1], 'NATURAL':[1], 'ELIMINA':[1], 'PIOJOS':[1], 'COMPRAR':[1], 'AVISO':[1], 'LEGAL':[1], 'POLITICA':[1], 'PRIVACIDAD':[1], 'COOKIES':[1]}
var jsfiles = ['','http://www.aceitedecocoparaelpelo.com/']
var currentq2 = "";
var detectadaVacia = 0;
function requery() {
detectadaVacia = 0;
if (!indice_inverso || !jsfiles) return;
var currentq = document.query.q.value;
currentq = currentq.replace(/ +/g, " ")
currentq = currentq.replace(/^ +/g, "")
currentq = currentq.replace(/ +$/g, "")
document.query.q.value = currentq
currentq = currentq.toUpperCase()
currentq = currentq.replace(/Á/g, "A")
currentq = currentq.replace(/É/g, "E")
currentq = currentq.replace(/Í/g, "I")
currentq = currentq.replace(/Ó/g, "O")
currentq = currentq.replace(/Ú/g, "U")
currentq = currentq.replace(/À/g, "A")
currentq = currentq.replace(/È/g, "E")
currentq = currentq.replace(/Ì/g, "I")
currentq = currentq.replace(/Ò/g, "O")
currentq = currentq.replace(/Ù/g, "U")
currentq = currentq.replace(/Ä/g, "A")
currentq = currentq.replace(/Ë/g, "E")
currentq = currentq.replace(/Ï/g, "I")
currentq = currentq.replace(/Ö/g, "O")
currentq = currentq.replace(/Ü/g, "U")
currentq = currentq.replace(/Ã/g, "A")
currentq = currentq.replace(/Õ/g, "O")
currentq = currentq.replace(/Â/g, "A")
currentq = currentq.replace(/Å/g, "A")
currentq = currentq.replace(/Æ/g, "A")
currentq = currentq.replace(/Ê/g, "E")
currentq = currentq.replace(/Î/g, "I")
currentq = currentq.replace(/Ô/g, "O")
currentq = currentq.replace(/Ø/g, "O")
currentq = currentq.replace(/Û/g, "U")
currentq = currentq.replace(/[^A-Z|^0-9|^-|^Ñ|^Ç]/g, " ")
currentq = currentq.replace(/_/g, " ")
currentq = currentq.replace(/ +/g, " ")
currentq = currentq.replace(/ $/, "")
currentq = currentq.replace(/^ /, "")
var results = localfind(currentq.split(" "))
updateResults(results);
var currentqArray = currentq.split(" ")
for (var idx=0; idx < currentqArray.length; idx++){
var palactiu = currentqArray[idx]
if (document.query.pv.value.indexOf(palactiu)==-1){
currentq2 += palactiu + " "
} else {detectadaVacia = 1}
}
currentq2 = currentq2.replace(/ $/, "")
var results = localfind(currentq2.split(" "))
updateResults(results);
}
function localfind(wordlist) {
var hits = {};
var entryg = {}
for (var idx=0; idx < jsfiles.length; idx++){
hits[idx] = jsfiles[idx];
entryg[idx] = 0;
}
for (var idx in wordlist) {
var word = wordlist[idx]
if (indice_inverso[word]){
for (var idx=0; idx < indice_inverso[word].length; idx++) {
entryg[indice_inverso[word][idx]]++;
}
}
}
for (var fileid in hits) {
if(document.query.tipo[0].checked){if (entryg[fileid]<wordlist.length) {delete hits[fileid]}}
if(document.query.tipo[1].checked){if (entryg[fileid]==0) {delete hits[fileid]}}
}
return hits;
}
function updateResults(results) {
var upd_loc = document.getElementById("results")
var url_base = ""
while (upd_loc.hasChildNodes()){
upd_loc.removeChild (upd_loc.childNodes[0]);
}
var newh1 = document.createElement("p");
newh1.appendChild(document.createTextNode(""));
upd_loc.appendChild(newh1);
contador = 0;
for (var fileid in results){
contador++;
var hit = jsfiles[fileid];
var newp = document.createElement("p");
newp.appendChild( makeHyperlink(url_base + hit, hit));
upd_loc.appendChild(newp);
}
var frase = (contador>1)? " páginas encontradas" : " página encontrada"
if(document.query.tipo[0].checked){currentq2 = currentq2.replace(/ /, " AND ")}
if(document.query.tipo[1].checked){currentq2 = currentq2.replace(/ /, " OR ")}
if (contador == 0){newh1.appendChild(document.createTextNode("No se encontraron resultados" + ((detectadaVacia==1)? ". Se omiten las palabras vacías":"") ))}
else {newh1.appendChild(document.createTextNode(contador + frase + " con: " + currentq2 + ((detectadaVacia==1)? ". Se omiten las palabras vacías":"") ))}
currentq2 = "";
}
function makeHyperlink(url, text, title){
var aelem = document.createElement("a");
if (title) aelem.setAttribute("title", title)
if (url) aelem.setAttribute("href", url)
aelem.appendChild(document.createTextNode(text))
return aelem;
}
</script>
<style type="text/css">
.busca {color: 555555; font-family: Verdana, Arial; font-weight: normal; font-size: 8pt; text-align: justify}
.busca2 {color: 555555; font-family: Verdana, Arial; font-weight: normal; font-size: 8pt}
</style>
<p class="busca">
<form name="query" method="POST" action="javascript:requery()">
<input type="text" name="q" autocomplet="off" value="" class="busca2">
<input type="button" onClick="requery()" value="buscar" class="busca2">
<br />
<input type="radio" name="tipo" checked="checked">Con todas las palabras<br />
<input type="radio" name="tipo">Con algunas de las palabras<br />
<input type="hidden" name="pv" value="A ABAJO ABANDONANDO ABANDONANDOSE ABANDONED ABANS ABARATANDOSE ABARCAN ABAST ABLE ABORDABLE ABOUITIT ABOUT ABOVE ABSENT ABSOLUTAMENT ABSOLUTAMENTE ABSTRAIT ABSURDAMENTE ACABA ACABABA ACABAR ACABE ACABO ACCEDIENDO ACCESIGN ACCESOIRE ACCESS ACCESSOIREMENT ACCOMPAGNENT ACCUMULEES ACEPTABLE ACERCA ACERTADA ACIER ACIERIE ACONSEJABLE ACORD ACQUIERT ACQUIS ACROSS ACTE ACTIVITIES ACTUA ACTUALMENT ACTUALMENTE ZEROES">
</form>
</p>
<div id="results" class="busca"></div>
Valora esta pregunta


0