Problemilla javascript
3 seguidores
Tengo un problema con las cookies,
function createCookie(name, value) {
document.cookie = name + "=" + escape(value);
}
tengo este código para crear la cookie, pero con el nivel de "seguridad" de IE predeterminado no me crea la cookie. ¿Hay manera alguna de poder crearla sin que el usuario baje su nivel de "seguridad"?
meddle
<code>function setCookie(name,value,days)
{
if (days) {
var d = new Date();
d.setTime(d.getTime()+(days*24*60*60*1000));
var ex = "; expires="+d.toGMTString();
}
else {
var ex = "";
}
document.cookie = name+"="+value+ex+"; path=/";
}
function getCookie(name)
{
var eq = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i<ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(eq) == 0) return c.substring(eq.length,c.length);
}
return null;
}
function eraseCookie(name)
{
setCookie(name,"",-1);
}</code>
dirarck
Pongo esto para el que le pueda interesar, es un conmutador de tamaño del texto en pixels, sean bienvenidos consejos, correcciones y cualquier cosa que puedan añadir:
<code>var resize;
/****************************************************
* Se encarga de ocultar los controles *
* a los navegadores que no soporten javascript *
****************************************************/
function writeControls() { //sacado de kusor.net/com, gracias Pedro :P
document.writeln('<button onclick="resizeText(1); return false;">A+</button>&nbsp; |||||||| &nbsp;');
document.writeln('<button onclick="resizeText(0); return false;">A-</button>');
}
/*********************************************
* Comprueba la existencia de la cookie *
* si no existe la crea con tamaño 15 *
*********************************************/
window.onload = function init(){
if(getCookie("Size")) {
document.body.style.fontSize = getCookie("Size") + 'px';
} else {
createCookie("Size", 15);
}
resize = getCookie("Size");
}
/****************************************************
* Según el valor de sizeTo aumenta o disminuye *
* el tamaño de la fuente *
****************************************************/
function resizeText(sizeTo) {
if(sizeTo) {
if(resize < 18)
resize++;
document.body.style.fontSize = resize + 'px';
} else {
if(resize > 13)
resize--;
document.body.style.fontSize = resize + 'px';
}
createCookie("Size", resize);
}
function createCookie(name, value) {
var d = new Date();
d.setTime(d.getTime() + (30*24*60*60*1000));//esto debe ser mucho tiempo creo yo
var ex = "; expires=" + d.toGMTString();
document.cookie = name + "=" + escape(value) + ex + ";";
}
/***********************************************************
* Nos da el tamaño de la fuente guardado en la cookie *
***********************************************************/
function getCookie(name) {
var findit = name + "=";//buscar esta cadena
if (document.cookie.length > 0) {//existe la cookie?
i = document.cookie.indexOf(findit);//posicion de findit
if (i != -1) {
i += findit.length;
j = document.cookie.indexOf(";", i);
if (j == -1)
j = document.cookie.length;
return unescape(document.cookie.substring(i,j));
}
}
}</code>
Por cierto si saben decirme como echarlo a andar bien en Opera se lo agradecería.
meddle
creo que a opera no le mola esto:
<code>document.writeln</code>
PD: puedes llamarme opera durante este post ;)
xoan
<fieldset>PD: puedes llamarme opera durante este post</fieldset>
jajaja!!! esa si que es buena... es como si estas proyectando un edificio de viviendas y viene alguien y te dice:
<em> - puedes llamarme silla de ruedas para gente obesa</em>
eso esta bien, aunque deberian poder permitirse ciertas licencias con estos temas... ;)
dirarck
Creo que a Meddle, esto a Opera no le molesta ese método de javascript, por lo menos en la Versión 7.03, el problema es que cuando vas a utilizar los controles, si aumentas el tamaño de la letra, la letra aumenta, eso si, pero el espacio entre caracteres no aumenta con ella, es decir, que la letra se hace más grande pero llega un momento que están las letras tan pegadas que el texto es ilegible.
PD: Felicidades