¿Hay alguna forma de detectar si el almacenamiento local ha alcanzado su valor máximo para almacenar? ¿O al menos algo así como un mensaje de error que dice que no puedo almacenar más porque he alcanzado el tamaño máximo? Quiero captar esto para poder eliminar los elementos más antiguos de mi almacenamiento local e insertar otros nuevos.
Estoy usando el almacenamiento local para almacenar algunas de mis consultas de mi base de datos para que los usuarios puedan cargarlas de inmediato si ese elemento específico existe en el almacenamiento local. si no, ese es el momento en que recupero los datos en el servidor.
Al intentar agregar al almacenamiento local, si no hay suficiente espacio, aparecerá este error. En su escenario particular, podría usar este evento para liberar algo de espacio.
try { localStorage.setItem("name", "Hello World!"); //saves to the database, "key", "value" } catch (e) { if (e == QUOTA_EXCEEDED_ERR) { alert('Quota exceeded!'); //data wasn't successfully saved due to quota exceed so throw an error } }crédito a - http://chrisberkhout.com/blog/localstorage-errors/