Cambiar caducidad cookies, de dias a segundos, o alternativa?

Iniciado por CWeeD, 9 Febrero 2011, 18:13 PM

0 Miembros y 1 Visitante están viendo este tema.

CWeeD

Este es el javascript con que hago las cookies, quisiera que se borraran cuando presiono la X del explorador,me dijeron que quitando la caducidad se pone como cookies de sesion pero no lo he logrado aún; o ponerla en segundos y no días...gracias de antemano

/////////////////// CONFIGURACION ////////////////////////////////////
var separador = "$" //caracter separador de campos en el texto de la cookie
var numElementos = 1 //numero de campos en el searchfield


/////////////////// DATOS QUE SE MOSTRARAN ///////////////////////////
function Mostrar(texto, searchfield){
var pieza = null
var i = 0

if(CojerCookie(texto) != null) {
texto = CojerCookie(texto)
pieza = texto.split(separador)

for(i = 0; i < pieza.length; i++)
if (pieza[i] != null) {
searchfield.elements[ i ].value = pieza[ i ]
}
}
}



/////////////////////////DATOS QUE SE GUARDARAN /////////////////////////////////////
function JuntarPiezas( searchfield ) {

var entero = ''
//inserta en un string cada elemento, separados por el caracter separado
for ( contador = 0; contador < numElementos - 1; contador++) {
entero += searchfield.elements[ contador ].value + separador
}

//inserta el ultimo elemento
entero += searchfield.elements[ numElementos - 1 ].value

IntroducirCookie(entero)
}

////////////////////////////////// FIN DE VARIABLES A CAMBIAR /////////////////////////////////

function CojerValorCookie(indice) {
//indice indica el comienzo del valor
var galleta = document.cookie
//busca el final del valor, dado por ;, a partir de indice
var finDeCadena = galleta.indexOf(";", indice)
//si no existe el ;, el final del valor lo marca la longitud total de la cookie
if (finDeCadena == -1)
finDeCadena = galleta.length

return unescape(galleta.substring(indice, finDeCadena))
}

function CojerCookie(texto) {
var galleta = document.cookie
//construye la cadena con el texto del valor
var arg = texto + "="
        var alen = arg.length //longitud del texto del valor
var glen = galleta.length //longitud de la cookie

var i = 0
while (i < glen) {
var j = i + alen //posiciona j al final del texto del valor
if (galleta.substring(i, j) == arg) //si en la cookie estamo ya en texto del valor
return CojerValorCookie(j) //devuleve el valor, que esta a partir de j

i = galleta.indexOf(" ", i) + 1 //pasa al siguiente
if (i == 0)
break //fin de la cookie
}
return null //no se encuentra el texto del valor
}

function GuardarCookie (texto, valor, caducidad) {
if(!caducidad)
caducidad = Caduca(0)

//crea la cookie: incluye el texto, la caducidad y la ruta donde esta guardada
//cada valor esta separado por ; y un espacio
document.cookie = texto + "=" + escape(valor) + "; expires=" + caducidad + "; path=/"
}

function Caduca(dias) {
var hoy = new Date() //coge la fecha actual
var msEnXDias = eval(dias) * 24 * 60 * 60 * 1000 //pasa los dias a mseg.

hoy.setTime(hoy.getTime() + msEnXDias) //fecha de caducidad: actual + caducidad
return (hoy.toGMTString())
}

function BorrarCookie(texto) {
//para borrar la cookie, se le pone una fecha del pasado mediante Caduca(-1)
document.cookie = texto + "=; expires=" + Caduca(-1) + "; path=/"
}

function IntroducirCookie(texto) {
//establece la cookie: la caducidad es de 1 dias
var _1dias = Caduca(1) //crea la fecha de caducidad si 1 dias
if (texto != "")
GuardarCookie("Datos", texto, _1dias)
}

function MostrarMiCookie() {
Mostrar('Datos', document.searchfield)
}

window.onload = MostrarMiCookie;
if (document.captureEvents) { //N4 requiere invocar la funcion captureEvents
document.captureEvents(Event.LOAD)
}
Ser o conocer es el verdadero dilema!