Después de una queja de uno de nuestros usuarios y al ejecutar algunas pruebas, Firefox 15 y 16 (y probablemente versión anterior) lo hacen desactivando las cookies. almacenamiento local. Ni siquiera se puede crear un polyfill para ello como cada vez que intente acceder window.localStorage
se obtiene Error: The operation is insecure.
Solución para el usuario de Firefox que deshabilita las cookies y localStorage - polyfill no es posible
Lanzar un intento de captura le permitirá comprobar para ver si se trata de personas con discapacidad, pero no va a dejar que se reemplaza la variable con su propia solución . La siguiente polyfill rápida no funcionará porque FF ignora estableciendo la variable y arrojará el mismo error al intentar acceder a ella:
try{
window.localStorage;
}catch(err){
window.localStorage = {
getItem: function(k){
return this.k;
},
setItem: function(k,v){
this.k = v;
}
};
}
La única solución parece ser mover el localStorage "falso" a otra variable, pero esto haría ser molesto ya que tenemos un montón de código y una js lib que se basan en el acceso a esta variable. Alguna solución?
Editar: No es óptimo mostrar una alerta para indicar a los usuarios que se requieren cookies. Si los visitantes solo quieren ver el sitio y no registrarse, entonces realmente no necesitan cookies. Pero al ser una aplicación backbone.js y transmitir muchos datos, almacenamos cosas en localStorage bastante.
Si puede verificar si está deshabilitado, solo muestre una alerta o algo que le indique que debe habilitar las cookies para su sitio. – MrOBrian
Gracias MrObrian, lo hice y estoy inyectando un div con el mensaje, pero sería óptimo para que localStorage simplemente funcione como una tienda de clave/valor que no persistió, ya que eso es lo que quiere el usuario. –
"pero sería óptimo que localStorage simplemente funcionara como un almacén de clave/valor que no persistió" ¿por qué no utilizar simplemente una matriz js simple en este caso? –