2013-09-26 7 views
0

Je souhaite effacer tous les éléments du stockage. J'ai regardé le jquery $ .totalStorage js, je ne vois pas une fonction pour supprimer toutes les clés et les objets.

Existe-t-il un moyen facile de faire cela sans avoir à parcourir tous les éléments et à appeler 'deleteItem()'?

merci!

Répondre

2

Vous pouvez ajouter cette fonctionnalité au plugin totalStorage.

Ajouter cette méthode publique au plugin

$.totalStorage.removeAll = function(){ 
    return $.totalStorage.impl.removeAll(); 
}; 

Ensuite, dans la vente littérale d'objet $.totalStorage.impl cette fonction -

removeAll: function(){ 
    if (!supported){ 
     try { 
      var pairs = document.cookie.split(";"); 
      for (var i = 0; i<pairs.length; i++){ 
       var pair = pairs[i].split('='); 
       var key = pair[0]; 
       $.cookie(key, null); 
      } 
     } catch(e){ 
      return null; 
     } 
    } else { 
     ls.clear(); 
    } 
}, 

/modifier

Je bifurqué le plugin totalStorage et ajouté un removeAll méthode - you can get it here on my GitHub

Vous pouvez maintenant effacer le stockage local en appelant $.totalStorage.removeAll();

Here is a jsFiddle using the removeAll method

+1

ahh, merci Ross. C'est une excellente réponse! – dutchman711

+0

@ user998066 Np vous êtes les bienvenus. Je pense que je vais utiliser ce plugin jQuery dans les cas où je dois supporter localStorage sur IE7. – Ross

0

No. Vous devez supprimer les éléments un par un.

2

Peut-être pas directement avec cette bibliothèque, mais si vous voulez supprimer tout savoir localStorage existe, vous pouvez le faire:

localStorage.clear(); 
0

En utilisant jQuery vous pouvez faire avec la facilité avec

$.each($.totalStorage.getAll(),function(i,obj) { 
    $.totalStorage.deleteItem(obj.key); 
}); 
Questions connexes