Encontré esta pregunta de la entrevista que me preguntaba cómo maneja los errores cuando se niega el permiso de almacenamiento local.
Investigué a través de documentos y descubrí que tal problema podría surgir si el usuario ha configurado el navegador para negar el uso del almacenamiento de datos. Esto da como resultado que el código arroje SecurityError
Traté de encontrar una solución envolviendo los métodos de localStorage , a saber. setItem() & getItem() en bloques try{..} catch(e){...} .
Tenía curiosidad por saber si un navegador no puede dar acceso a localStorage ¿Qué otras opciones tengo para almacenar mis datos para poder manejar este escenario sin problemas?
function CheckStorageAllowance() { let storage; try { storage = window["localStorage"]; let x = '__storage_test__'; storage.setItem(x, x); storage.removeItem(x); return true; } catch (e) { return e instanceof window.DOMException && (e.code === 22 || e.code === 1014 || e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && (storage && storage.length !== 0); } } let check = CheckStorageAllowance(); if (check) { // allowed console.log("Works"); } else { if (!check) { console.log("disabled"); // Disabled } else { // quota exceeded console.log(check); } }Entonces, esencialmente verificamos si podemos configurar un elemento, eliminarlo rápidamente y devolverlo como verdadero, si no, determinamos cuál fue la excepción y, como puede ver, hay pocos problemas potenciales que pueden ocurrir. Buena suerte.