Maison > interface Web > Tutoriel H5 > Stockage local HTML5 localStorage, utilisation de base de sessionStorage, opérations de traversée, gestion des exceptions, etc._compétences du didacticiel html5

Stockage local HTML5 localStorage, utilisation de base de sessionStorage, opérations de traversée, gestion des exceptions, etc._compétences du didacticiel html5

WBOY
Libérer: 2016-05-16 15:47:58
original
2009 Les gens l'ont consulté

Les méthodes d'utilisation de localStorage et sessionStorage dans l'API de stockage local de HTML5 sont les mêmes. La différence est que sessionStorage est effacé après la fermeture de la page, tandis que localStorage sera toujours enregistré. Ici, nous prenons localStorage comme exemple pour présenter brièvement le stockage local de HTML5 et fournir quelques exemples de problèmes courants tels que la traversée. localStorage est l'API de stockage local HTML5, qui utilise des paires clé-valeur pour accéder aux données. Les données consultées ne peuvent être que des chaînes. Différents navigateurs prennent en charge différemment cette API, comme les méthodes d'utilisation, l'espace de stockage maximum, etc.

1. Utilisation de base de l'API localStorage

L'utilisation de l'API localStorage est simple et facile à comprendre. Voici les opérations et exemples courants de l'API : Définir les données : localStorage.setItem(key,value); Exemple :

Copier le code
Le code est le suivant :

for(var i=0; i<10; i){
localStorage .setItem(i,i) ;
}

Obtenir les données : localStorage.getItem(key) Obtenir toutes les données : localStorage.valueOf() Exemple :

Copier le code
Le code est le suivant :
for(var i=0; i<10; i){
localStorage.getItem( i);
}

Supprimer les données : localStorage.removeItem(key) Exemple :

Copier le code
Le code est le suivant :
for(var i=0; i<5; i ){
localStorage.removeItem(i);
}

Effacer all data: localStorage.clear() Obtenir le nombre de données de stockage local :localStorage.length Obtenir la valeur clé de la Nième donnée : localStorage.key(N)

2. Méthode de valeur de clé de parcours


Copier le code
Le code est la suivante :

for(var i=localStorage.length - 1; i >=0; i--){
console.log('(i 1) 'th data La valeur clé est : ' localStorage.key(i) ', les données sont : ' localStorage.getItem(localStorage.key(i)));
}


3. Test de limite de taille de stockage et gestion des exceptions

3.1 Test de limite de taille de stockage de données

Différents navigateurs ont essentiellement des limitations sur la taille de stockage local du HTML5. Les résultats d'un test sont les suivants :

Copier le codeLe code est le suivant :
IE 9 > 4999995 5 = 5000000
firefox 22.0>5242875 5 = 5242880
chrome 28.0 > 440
safari 5.1 > 2621435 5 = 2621440
opera 12.15 > 5M (S'il dépasse, une boîte de dialogue permettant de demander plus d'espace apparaîtra)


Référence du code de test :


Copier le codeLe code est le suivant :



<script><br> function log( msg ) {<br> console.log(msg);<br> alert(msg);<br> }&lt ;/p> <p> var limit;<br> var half = '1'; //Ceci sera changé en chinois et exécuté à nouveau<br> var str = half;<br> var sstr;<br> while ( 1 ) { <br> essayez {<br> localStorage.clear();<br> str = half;<br> localStorage.setItem( 'cache', str );<br> half = str;<br> } catch ( ex ) { <br> break;<br> }<br> }<br> var base = str.length;<br> var off = base / 2;<br> var isLeft = 1;<br> while ( off ) { <br> if ( isLeft ) {<br> end = base - (off / 2);<br> } else {<br> end = base (off / 2);<br> }</p> <p> sstr = str.slice( 0, end );<br> localStorage.clear();<br> essayez {<br> localStorage.setItem( 'cache', sstr );<br> limit = sstr. longueur;<br> isLeft = 0;<br> } catch ( e ) {<br> isLeft = 1;<br> }</p> <p> base = fin;<br> off = Math.floor( off / 2 );<br> }</p> <p> log( 'limite : ' limite );<br></script>



3.2 資料儲存異常處理


複製程式碼
程式碼如下:
try}catch(oException){
if(oException.name == 'QuotaExceededError'){
console.log('超出本地儲存限額!');
// //如果歷史信息不重要了,可清空後再設置
localStorage.clear();
localStorage.setItem(key,value);
}
}


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal