2011-12-14 16 views
6

Ejecuto Android Honeycomb 3.2.1 y tengo problemas para que el navegador deje de aceptar cookies. Tengo el siguiente código:Inhabilitar las cookies en el navegador Android no funciona

first.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="cookie.js"></script> 
     <script type="text/javascript"> 
      setCookie('testing','test cookie',365); 
      window.location.href = 'second.html'; 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

second.html:

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="cookie.js"></script> 
     <script type="text/javascript"> 
      var temp = getCookie('testing'); 
      alert(temp); 
     </script> 

    </head> 
    <body> 
    </body> 
</html> 

cookie.js:

function setCookie(c_name,value,exdays) 
{ 
    var exdate=new Date(); 
    exdate.setDate(exdate.getDate() + exdays); 
    var c_value=escape(value) + ((exdays==null) ? "" : ";  expires="+exdate.toUTCString()); 
    document.cookie=c_name + "=" + c_value; 
} 

function getCookie(c_name) 
{ 
    var i,x,y,ARRcookies=document.cookie.split(";"); 
    for (i=0;i<ARRcookies.length;i++) 
    { 
     x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
     y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
     x=x.replace(/^\s+|\s+$/g,""); 
     if (x==c_name) 
     { 
      return unescape(y); 
     } 
    } 
    return null; 
} 

Ahora bien, si Apagué las cookies y visita first.html en cualquiera de mis navegadores de escritorio, me redireccionan y recibo una alerta que dice nulo como se esperaba.

Si activo mis cookies y visito first.html en cualquiera de mis navegadores de escritorio, me redireccionan y recibo una alerta que dice "cookie de prueba" como se esperaba.

Ahora si ejecuto esto en mi tableta Android con cookies deshabilitadas, siempre devuelve "cookie de prueba" en una alerta. No importa si tengo las cookies activadas o desactivadas. Intenté cambiar la configuración, eliminar las cookies y el caché, reiniciar el navegador e incluso reiniciar la tableta y todo con los mismos resultados.

Cualquier ayuda es apreciada.

+1

También estoy viendo el mismo problema en 4.0.3. –

Respuesta

0

¿Qué hay de comprobar si las cookies están habilitadas antes de devolver la cookie:

function getCookie(c_name) 
{ 
    if(navigator.cookieEnabled) { 
     var i,x,y,ARRcookies=document.cookie.split(";"); 
     for (i=0;i<ARRcookies.length;i++) 
     { 
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); 
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); 
      x=x.replace(/^\s+|\s+$/g,""); 
      if (x==c_name) 
      { 
       return unescape(y); 
      } 
     } 
    } 
    return null; 
} 
Cuestiones relacionadas