Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как получить список элементов в localStorage? (https://javascript.ru/forum/misc/10074-kak-poluchit-spisok-ehlementov-v-localstorage.html)

Бобр 18.06.2010 07:19

Как получить список элементов в localStorage?
 
Как получить список элементов в localStorage?

Там есть getItem и setItem. А как получить просто список всех имеющихся айтемов?

Бобр 18.06.2010 08:57

Пытаюсь сделать так:

var key, obj = window.localStorage;
for(key in obj){
  alert('Ошибка где-то до этой строки.');
};


Но не получается. Что не так?

Octane 18.06.2010 12:32

localStorage.a1 = '1';
localStorage.a2 = '2';
localStorage.a3 = '3';

for (var i = 0; i < localStorage.length; i++) {
     alert(localStorage[i] + " = " + localStorage[localStorage[i]]);
}


http://hacks.mozilla.org/2009/06/localstorage/

Бобр 18.06.2010 20:28

Цитата:

Сообщение от Octane
http://hacks.mozilla.org/2009/06/localstorage/

А почему в моём коде возникает ошибка? Разве нельзя использовать for(key in obj) ? Что означает сообщение об ошибке: "ошибка: null has invalid __iterator__ value null".

И есть ли разница между window.localStorage и просто localStorage?

Octane 18.06.2010 20:39

Цитата:

Сообщение от Бобр
А почему в моём коде возникает ошибка? Разве нельзя использовать for(key in obj) ? Что означает сообщение об ошибке: "ошибка: null has invalid __iterator__ value null".

Не знаю почему сделали так, чтобы выкидывалось исключение для for-in.


Цитата:

Сообщение от Бобр
И есть ли разница между window.localStorage и просто localStorage?

В данном случае это один и тот же объект http://dmitrysoshnikov.com/ecmascrip...lnom-kontekste

Бобр 19.06.2010 08:47

Нет, не получается. Код на строке с localStorage.length перестаёт выполняться. Более того браузер Firefox выдал ошибку и закрылся. Потом выдала ошибку какая-то системная программа которая отвечает за связь с интернетом и попасть в Интернет стало невозможно. Пришлось перезагрузиться.

Может быть есть ещё какие-нибудь способы совладать с этим localStorage?

Octane 19.06.2010 09:50

Цитата:

Сообщение от Бобр
Код на строке с localStorage.length перестаёт выполняться.

Мой пример не работает? Я в Firefox 3.6 пробовал, все запускалось.


----
Проверил, только в Firefox и работает :)


--------
Посмотрите, как сделано здесь http://browserpersistence.ru/

Иваннн 26.01.2011 16:37

А в ie8 работает?
 
У меня нет, хотя localSt при перечислении есть, но значение undefined?

jobsidi 17.09.2013 14:32

Если кому-то надо, вот рабочий пример. Хром 29
s = localStorage;
s.a1 = '1';
s.a2 = '2';
s.a3 = '3';

for (var i = 0; i < s.length; i++) { key = s.key(i);
     console.log(key + " = " + s.getItem(key));
}


Часовой пояс GMT +3, время: 07:41.