Le specifiche W3C per lo storage Web (noto colloquialmente come memoria locale HTML5, sebbene questo sia un termine improprio) consente agli agenti utente di applicare un limite di dimensioni, che è consigliato a 5 MB. Secondo varie fonti che ho trovato in rete, molti browser moderni usano questo limite di 5 MB, tranne IE che fornisce 10 MB.Come faccio a far fronte ai limiti di dimensione per lo spazio Web?
In primo luogo, voglio sapere, il limite si applica al totale combinato di localStorage e sessionStorage o a loro individualmente?
Ora, come possiamo effettivamente far fronte a questi limiti? C'è un modo per scoprire qual è il limite per un particolare browser? C'è qualche sito web che mantiene statistiche sui diversi browser? Viene generata un'eccezione quando il browser supera il limite? Esiste un modo infallibile per testare questa eccezione di "classe" in diversi browser?
Hai trovato una buona risposta a questo? –
No, non proprio. A peggiorare le cose, c'è un browser principale (ho dimenticato quale) che visualizza una finestra di dialogo se il sito cerca di superare il limite di archiviazione. Lo sviluppatore web non ha modo di personalizzare questo messaggio, quindi dirà qualcosa come "questo sito sta cercando di superare il limite di archiviazione", che è un'esperienza utente molto negativa. Per questo motivo, la mia azienda ha deciso di non utilizzare l'archiviazione locale per il nostro caso d'uso e di utilizzare il meccanismo predefinito di memorizzazione nella cache del browser invece di URL che sembrano file javascript ma in realtà contengono solo definizioni di oggetti generate dinamicamente. – Kidburla
Ho scritto un modulo che si occupa di parlare con localStorage in modo che non superi mai il massimo consentito, se supera i 4mb svuota le voci più vecchie che ha fino a quando non è passato sotto i 3mb. inoltre la quantità di byte utilizzata ogni volta viene aggiornata ogni volta che il sistema aggiunge o rimuove da esso, il che significa che è possibile ottenere la quantità di byte attualmente utilizzata con il tempo di ricerca big-o 1. –