Pasando datos entre páginas html con JavaScript

En este articulo veremos la posibilidad de pasar datos entre paginas utilizando JavaScript. La forma de hacerlo es pasando estos datos como parametros en la URL ¿Que es Esto? Facil, tenemos la direccion de la pagina y a esta le añadimos unos parametros adicionales que contendran los valores que queremos pasar y quedaria algo asi…

http://www.servidor.com/informacion.htm?verinfo=2

Noten que despues del simbolo ‘?’ hay un texto, bueno, esa es la idea, pero ustedes se preguntaran ¿La pagina ‘informacion.htm?verinfo=2’ existe? y la respuesta es no, la pagina que existe es ‘informacion.htm’ lo que hay a continuacion son los parametros y no hay que preocuparce por nada dado que el servidor interpreta que queremos entrar a la pagina ‘informacion.htm’ asi que no se producira ningun tipo de error.

Bueno ahora les explicare el ejemplo sobre el cual aplicaremos este articulo. La idea es hacer un tablon de noticias, para esto tenemos dos paginas ‘titulares.htm’ que muestra solo los titulos de las noticias y ‘leer.htm’ que muestra la noticia pasada como parametro. Les recomiendo que antes vean el ejemplo funcionando haciendo click aqui.

El ejemplo es solo una de las utilidades que puede tener esta rutina de JavaScript, ahora pasaremos a explicar el mismo, lo primero que tenemos que hacer es ‘limpiar’ la direccion URL dado que el navegador cambia los caracteres de espacio por los signos ‘%’ aparte de otras modificacion, entonces debemos asegurarnos de ‘descodificar’ la URL para ello nesecitamo estas linea de codigo…

var remplaza = /+/gi;
var url = window.location.href;

url = unescape(url);
url = url.replace(remplaza, " ");
url = url.toUpperCase();

Con estas 5 lineas de codigo ya tenemos la URL descodificada y almacenada en la variable ‘url’, lo que le mostraremos a continuacion es la funcion que nos devolvera el valor del parametro que queremos obtener…

<script>
function obtener_valor(variable)
{
var variable_may = variable.toUpperCase();
var variable_pos = url.indexOf(variable_may);

if (variable_pos != -1)
{
var pos_separador = url.indexOf("&", variable_pos);

if (pos_separador != -1)
{
return url.substring(variable_pos + variable_may.length + 1, pos_separador);
} else
{
return url.substring(variable_pos + variable_may.length + 1, url.length);
}
} else
{
return "NO_ENCONTRADO";
}
}
</script>

Para utilizar esta funcion desde el archivo ‘leer.htm’ del ejemplo utilizamos el siguiente codigo…

var valor = obtener_valor("verinfo");

Y lo que a posterior hacemos es mostrar la informacion que corresponda…

if (valor == 1)
{
document.write (‘Microsoft a sido llevada a juicio por monopolio, ….’);
}

if (valor == 2)
{
document.write (‘Luego de vender 1 millon de ejemplares los duñeos de i-node dicen que sus expectativas…’);
}

if (valor == 3)
{
document.write (‘Ya son mas de 120 Millones las paginas en la red, dado…’);
}

Les recomiendo, si todavia no lo hicieron, que miren el ejemplo haciendo click aqui, en el mismo tambien podran encontrar el codigo fuente corespondiente a cada uno. Saludos, El Guru.

Deja un comentario