A través de la siguiente definición de "cookies" se restringe que una ventana "Pop-up" aparezca sólo en caso de no existir determinado "cookie" en el Navegador, además, en caso de cumplirse dicha condición, será colocado un "cookie" que vencerá automáticamente 1 año después de su colocación inicial, en efecto re-apareciendo la ventana "Pop-up" una vez cumplida esta fecha.
Secuencia de Acontecimientos:
Página Original
- Viene de la página javascript_fondo.htm , esta página no contiene ningún tipo de JavaScript especifico para esta ejecución, solo oprimió el siguiente link:
<a href="ejemplos/jscript/cookventana.htm"> |
Página Visitada (Actual)
- Esta página contiene la siguiente definición en JavaScript:
<head> <script type="text/javascript" src="jscript/cookies.js"> </script> </head> |
La librería cookies.js
contiene una serie de funciones que permiten la colocación e inspección de "Cookies" para determinado sitio, así como una declaración para abrir una ventana "Pop-Up", el código fuente de esta librería se describe a continuación :
function ExtraerCookie(nombre) { // Colocar Nombre y Longitud de Cookie Buscado en Variables var arg = nombre + "="; var longitud = arg.length; var i = 0; // Condicional de Comparacion sobre Cookie residente en Navegador if (document.cookie.substring(i, longitud) == arg) { return true; } return null; } function ColocarCookie (name, value, expires, path) { var domain; var secure; document.cookie = name + "=" + escape (value) + ((expires == null) ? "" : "; expires=" + expires ) + ((path == null) ? "" : "; path=" + path) + ((domain == null) ? "" : "; domain=" + domain) + ((secure == null) ? "" : "; secure"); } // Llamar Funcion para extraer Cookie var visita=ExtraerCookie("GALLETA"); // No hay Cookie if (visita == null) { var hoy = new Date(); var expira = new Date(hoy.getTime() + 365 * 24 * 60 * 60 * 1000).toGMTString(); ColocarCookie("GALLETA","4H45GDFGMv8S",expira,"/"); window.open("popwin.html", "popwin", "width=250,height=300,left=300,top=100,scrollbars=no,menubar=no"); } |
La primer función es utilizada para realizar una comparación sobre el "Cookie" residente en el "Browser" y el nombre proporcionado como argumento.
La segunda función es empleada para colocar un "Cookie" en el Navegador.
Seguido de esta última función se encuentra la primer declaración que realiza una búsqueda por el "Cookie" llamado
GALLETA
.En caso de ser negativo el resultado de la búsqueda:
Primeramente se define una variable para contener una fecha 1 año más tarde a la fecha del sistema, la cual será empleada como día de vencimiento para el respectivo "Cookie"
Se invoca el método para la colocación de "Cookies" con los respectivos parámetros.
Se abre una ventana "Pop-up" mediante el método
open
del Objeto Window.
La ventana "Pop-up" es un simple documento HTML / XHTML , con la excepción del link ofrecido para cerrar la misma ventana que es definido de la siguiente manera:
<a href="" onclick="javascript:window.close()">CERRAR VENTANA</a> |