Bookmark and Share  

Javascript utilizado

Tabla de contenido

Utilizar estos scripts
Puedes utilizar estos scripts en tu página web introduciéndolos entre las etiquetas <script type="text/javascript"></script>, a menos que se recomiende lo contrario. Puedes eliminar los comentarios (las líneas que tienen /* */ o //). No es necesario atribuir estos scripts para usarlos.

Fecha

/*Imprime de manera sencilla una fecha en español en la pantalla. No se actualiza automáticamente, sólo al recargar la página.*/
//Creación de la fecha de hoy
var fecha = new Date();

//Variable que contiene los días de la semana en español
var semana = new Array("Domingo","Lunes","Martes", "Mi&eacute;rcoles","Jueves","Viernes","S&aacute;bado");
//Variable que almacena los meses del año en español
var an_o = new Array("enero","febrero","marzo","abril","mayo","junio", "julio","agosto","septiembre","octubre","noviembre","diciembre");
//Imprime la fecha de hoy, completa
document.write(semana[fecha.getDay()] + ", " + fecha.getDate() + " de " + an_o[fecha.getMonth()] + " de " + fecha.getFullYear());

Efemérides

/*
En la página de inicio se muestran mediante este script días festivos del año. Este script imprime en la pantalla una línea con el día festivo correspondiente a hoy, si existe. En la página http://www.scholamundi.50webs.org/efemerides.js se encuentra la fuente original, sin comentarios y completa.
*/

//Se crea una fecha de hoy
var hoy = new Date();

//Matriz que contendrá los días festivos
var calendario = new Array(12);
for (i = 0; i < calendario.length; i++){
calendario[i] = new Array();
}

//Se agregan los días festivos en cada posición (los meses van de 0 a 11 y los días de 0 a 31)
calendario[0][0] = "A&ntilde;o nuevo";
calendario[0][5] = "Cristianismo: Epifan&iacute;a";
calendario[0][20] = "Estados Unidos: D&iacute; de Martin Luther King";
calendario[0][25] = "Australia: D&iacute;a de Australia <br> India: D&iacute;a de la República";
calendario[1][4] = "M&eacute;xico: D&iacute;a de la constituci&oacute;n";
calendario[1][5] = "Nueva Zelanda: Celebración del tratado de Waitangi";
calendario[1][10] = "Jap&oacute;n: Fundaci&oacute;n nacional";
calendario[1][14] = "Canad&aacute;: D&iacute;a de la bandera";
calendario[1][17] = "Estados Unidos: D&iacute;a de los presidentes";
calendario[1][16] = "Cristianismo: Mi&eacute;rcoles de ceniza"; //2010

/*Así pueden seguirse agregando días festivos*/

//Se imprime el día festivo de hoy, si existe.
if(calendario[hoy.getMonth()][hoy.getDate() - 1] != null){
document.write("<small>");
document.write(calendario[hoy.getMonth()][hoy.getDate() - 1]);
document.write("</small>");
}else{}

Motor de búsqueda

/*
Este motor de búsqueda es ejecutado del lado del usuario, así que será eficiente sólo si se trata de sitios web pequeños. Además, sólo busca una frase a la vez (no es un filtro), y sólo busca palabras clave (es decir, no busca en todo el documento, sólo en las palabras especificadas). No acepta caracteres con tilde ni ñ en la búsqueda, pues hasta el momento el método replace no ha servido para este fin (sugerencias a info@scholamundi.50webs.org), aunque si el usuario introduce estos caracteres se despliega un mensaje sugiriendo que corrija la búsqueda. Despliega una página nueva con los resultados.

Para utilizarlo, puede guardarse en un archivo js e incluirse mediante <script type="text/javascript" src=...> entre las etiquetas <head> de la página a usar. Luego, debe insertarse un formulario:
<form onsubmit="buscar(buscarTF.value); mostrarResultados();" method="get" action="javascript:void(0)" name="busqueda"><input size="24" name="buscarTF"><input name="enviarB" value="Buscar" type="submit">
</form>

El archivo original y completo está en http://scholamundi.50webs.org/buscar.js
*/

//variable que contiene el texto a buscar
var texto;
//Array que contiene la base de datos (es decir, las páginas donde buscará)
var baseDatos = new Array();

/* Añade las páginas. Debe seguirse estrictamente la sintaxis: «new Array("URL","TÍTULO (para caracteres especiales, utilizar la notación html, p.ej., &eacute; para é","PALABRA CLAVE1", "PALABRA CLAVE2",...)» */

baseDatos[0] = new Array("ciencias_fisicas/index.html","Ciencias F&iacute;sicas", "fisica","astronomia","geofisica","ciencias tierra","espacio");
baseDatos[1] = new Array("matematica/index.html","Matem&aacute;tica","matematica");
baseDatos[2] = new Array("musica/index.html","M&uacute;sica","musica","instrumento");
baseDatos[3] = new Array("ciencias_fisicas/historia_ilustrada_de_la_fisica.html" ,"Historia ilustrada de la f&iacute;sica","historia fisica","arquimedes","galileo","newton","einstein","islam","huygens");

/*Así puede continuarse la adición de páginas y palabras clave*/

//Array que contiene los resultados
var resultados = new Array();

//Busca el texto entre las palabras clave añadidas en baseDatos
function buscar(texto){
//Quita las palabras comunes
this.texto = texto.toLowerCase().replace("de ","").replace("del ","").replace("el ","").replace("la ","").replace("los ","").replace("las ","");
for (i=0;i<baseDatos.length;i++){
for(j=2;j<baseDatos[i].length;j++){
if(this.texto == baseDatos[i][j]){
resultados.push(i);
}}}}

//Despliega una página web con los resultados

function mostrarResultados(){
document.write("<html><head><title>Resultados de la busqueda</title><h1>"
+"Resultados para \""+texto+"\"</h1><small>Introduzca las palabras de su b&uacute;squeda <b>sin tildes ni &ntilde;</b>.</small><hr>");
if(resultados[0] != null){
for(k=0;k<resultados.length;k++){
document.write("<big>"+
"<a href=\""+baseDatos[resultados[k]][0]+"\">"+
baseDatos[resultados[k]][1]+
"</a>"+
"</big><br><small>"+
baseDatos[resultados[k]][0]+
"</small><br>");}}else{document.write("No se encontraron resultados");}
document.write("</body></html>");
document.close();

Resolución de pantalla

/*Cambia el estilo de dos clases de contenedores (div) que se llamarán "primario" y "secundario", dependiendo de la resolución de pantalla del usuario. Si el ancho de pantalla es superior a 1100 píxeles, los contenedores cambiarán su distribución para que se desplieguen mejor. Para utilizar este script, deben crearse dos contenedores <div class="primario">CONTENIDO1</div> y <div class="secundario">CONTENIDO2</div>. Al cargarse la página en un tamaño pequeño, los contenedores aparecerán uno bajo el otro. Al cargarse en un tamaño muy ancho, aparecerán uno al lado del otro.*/

if(document.body.clientWidth > 1100) {document.write("<style>div.primario{float:left;width:60%} div.secundario{float:right;width:37%}</style>")}
Creative Commons License Schola Mundi tiene una licencia Creative Commons, a menos que se indique lo contrario.
CC-by-sa 2009 André Oliva
Schola Mundi