Código HTML:
<html> <head> <!-- Buscador en JavaScript --> <SCRIPT LANGUAGE='JavaScript'> var numeroPaginas=10; //PAGINAS TOTALES var numeroDatos=4; //DATOS POR PAGINA (descr,pal clave, link, titulo) var baseDatos=new Array(numeroPaginas); for (i=0; i<numeroPaginas; i++) //ES PARA CREAR LOS CUATRO DATOS DE CADA PAGINA { baseDatos=new Array(numeroDatos); } <!-- Creación de la base de datos --> baseDatos[0][0]="http://dalila.sip.ucm.es/miembros/olga/colores"; baseDatos[0][1]="Colores RGB"; baseDatos[0][2]="El propósito de esta página es mostrarte cómo especificar colores uniformes en HTML"; baseDatos[0][3]="html,colores,RGB"; <!-- --> baseDatos[1][0]="http://dalila.sip.ucm.es/miembros/olga/dimensionado"; baseDatos[1][1]="Dimensionado de Imágenes"; baseDatos[1][2]="Incluir imágenes en una página web es muy sencillo"; baseDatos[1][3]="imagen,jpg,jpeg,gif,html"; <!-- --> baseDatos[2][0]="http://dalila.sip.ucm.es/miembros/olga/tablas"; baseDatos[2][1]="Las Tablas en HTML"; baseDatos[2][2]="Las tablas son uno de los elementos más versátiles de HTML. Permiten mostrar la información de una manera compacta y clara."; baseDatos[2][3]="fila,columna,celda,tabla,html"; <!-- --> baseDatos[3][0]="http://dalila.sip.ucm.es/miembros/olga/form"; baseDatos[3][1]="Los Formularios en HTML"; baseDatos[3][2]="HTML permite emplear los llamados formularios, para que el usuario pueda enviar información hacia el servidor."; baseDatos[3][3]="formularios,validacion,javascript,html"; <!-- --> baseDatos[4][0]="http://dalila.sip.ucm.es/miembros/olga/frames"; baseDatos[4][1]="Los Frames en HTML"; baseDatos[4][2]="El uso de marcos (frames) es una técnica muy utilizada en la actualidad."; baseDatos[4][3]="frame,marco,target,html"; <!-- --> baseDatos[5][0]="http://dalila.sip.ucm.es/miembros/olga/enlaces"; baseDatos[5][1]="Marcos y Enlaces"; baseDatos[5][2]="Si tienes algo de experiencia en esto de la navegación por Internet, te habrás dado cuenta de que en algunas páginas los marcos pueden anidarse interminablemente."; baseDatos[5][3]="marcos,enlaces,target,html"; <!-- --> baseDatos[6][0]="http://dalila.sip.ucm.es/miembros/olga/mapas"; baseDatos[6][1]="Ejemplo de Mapa"; baseDatos[6][2]="En HTML, se denomina mapa a la imagen utilizada para enlazar con varias páginas, yendo a una u otra según la zona sobre la que se pulse el ratón."; baseDatos[6][3]="mapa,imagen,html"; <!-- --> baseDatos[7][0]="http://dalila.sip.ucm.es/miembros/olga/javas"; baseDatos[7][1]="Ejemplos de JavaScript"; baseDatos[7][2]="Aquí podrás encontrar algunas aplicaciones de JavaScript para que puedas mejorar la presentación de tus páginas web." baseDatos[7][3]="scripts,ventanas,scrolls,eventos,javascript"; <!-- --> baseDatos[8][0]="http://dalila.sip.ucm.es/miembros/basico"; baseDatos[8][1]="Nociones Básicas de JavaScript"; baseDatos[8][2]="En esta página encontrarás las nociones básicas sobre JavaScript que necesitas para mejorar tus páginas web."; baseDatos[8][3]="variables,bucles,funciones,eventos,cajas,arrays,javascript"; <!-- --> baseDatos[9][0]="http://dalila.sip.ucm.es/miembros/olga/arrays"; baseDatos[9][1]="Los Arrays en JavaScript"; baseDatos[9][2]="Los arrays son un elemento extremadamente importante en cualquier lenguaje de programación."; baseDatos[9][3]="arrays,arrays densos,arrays bidimensionales,javascript"; <!-- --> var sinAcento=new Array('a','e','i','o','u'); var conAcento=new Array('á','é','í','ó','ú'); var entradasResultado=""; var paginaResultados=""; function prepararPalabra(palabra) //PONE LA PALABRA EN MINUSCULAS Y SIN TILDES { var resultado=""; var longitud; //DEVUELVE EL REULTADO resultado=palabra.toLowerCase(); longitud=resultado.length; for (i=0; i<5; i++) { posicion=resultado.indexOf(conAcento); while (posicion!=-1) { resultado=resultado.substring(0,posicion)+sinAcento+resultado.substring(posicion+1,longitud); posicion=resultado.indexOf(conAcento);} } return resultado; } function buscarPalabra(palabra,desde) //SI ENCUENTRA LA PALABRA DESDE DESDE EN ALGUNA BASEDATOS { var indice=-1; //MODIFICA EL INDICE CON EL Nº DE BASEDATOS for (i=desde; i<numeroPaginas; i++) //DEVUELVE EL INDICE EN NUMERO if (baseDatos[0].search(palabra)!=-1 || baseDatos[1].search(palabra)!=-1 || baseDatos[2].search(palabra)!=-1 || baseDatos[3].search(palabra)!=-1) { indice=i; break; } return indice; } function principioPagina(palabra,cantidad) //PRINCIPIO DE PAGINA { paginaResultados+="<HTML><HEAD><TITLE>Resultados de la búsqueda</TITLE></HEAD>"+ "<BODY BGCOLOR='#FFFFFF'><FONT FACE='helvetica'><CENTER>"+ "<FONT SIZE=+2><B>Resultados de la búsqueda</B></FONT><HR NOSHADE></CENTER>"; if (cantidad==0) paginaResultados+="<P>Lo sentimos, no se han obtenido resultados para la palabra " else paginaResultados+="<P>Se ha(n) encontrado "+cantidad+" resultado(s) relacionados con "; paginaResultados+="<FONT COLOR='#0000FF'><B>"+palabra+"</B></FONT>.<BR>" } function anyadirEntrada(posicion) //PONE UN RESULTADO (TITULO+BR+DESCR) { entradasResultado+="<P><A HREF='"+baseDatos[posicion][0]+".html'>"+baseDatos[posicion][1]+"</A><BR>" +baseDatos[posicion][2]; } function finalPagina() // EL FINAL DE LA PAGE { paginaResultados+="<BR><BR><BR>(R)</BODY></HTML>"; } function buscador(palabra) //EL BUSCADOR COMPLETO { numeroResultados=0; paginaResultados=""; entradasResultado=""; var buscada=prepararPalabra(palabra); var claveBuscada=new RegExp(buscada); indice=-1; do { indice=buscarPalabra(claveBuscada,indice+1); if (indice!=-1) { anyadirEntrada(indice); numeroResultados++; } } while (indice!=-1) principioPagina(buscada,numeroResultados); paginaResultados+=entradasResultado; finalPagina(); mostrarVentana(paginaResultados); } function mostrarVentana(pagina) { opciones="toolbar=0,status=0,menubar=0,"+ "resizable=0,scollbars=1,width=575,height=450"; nuevaVentana=window.open("","",opciones) nuevaVentana.document.close(); nuevaVentana.document.open(); nuevaVentana.document.write(pagina); } </SCRIPT> </head> <body> <FORM NAME='entrada'> <CENTER> <TABLE> <TR> <TD><FONT FACE='helvetica'><B>Palabra clave:</B></FONT></TD> <TD><INPUT TYPE='text' NAME='dato' SIZE=18></TD> <TD><FONT FACE='helvetica'><INPUT TYPE='button' VALUE='Buscar' onClick="buscador(document.entrada.dato.value)"></FONT></TD> <TD><FONT FACE='helvetica'><INPUT TYPE='button' VALUE='Borrar' onClick="document.entrada.dato.value=''"></FONT></TD> </TR> </TABLE> </FORM> </body> </html>