Можностей, предоставляемых веб-разработчикам



Pdf көрінісі
бет219/232
Дата06.01.2022
өлшемі5,47 Mb.
#12231
1   ...   215   216   217   218   219   220   221   222   ...   232
Использование метода key
В этом API также есть метод 
key
, который принимает индексный параметр и возвраща-
ет соответствующий ключ. Он удобен для перечисления данных в объекте хранилища
Например, вы хотите вывести на экран все ключи и связанные с ними данные, но значения 
ключей вам неизвестны. Чтобы узнать их, просто пройдитесь по всему объекту хранилища, 
используя метод 
key
:


Хранение данных  •  195
for (var i = 0; i < sessionStorage.length; i++) {
 alert( sessionStorage.key(i) + '=' +
 ¬ sessionStorage.getItem( sessionStorage.key(i) ) );
}
Предупреждение: вполне возможно, что какое-то значение будет записано с ключом «key», 
например, вы создадите его с помощью такого кода:
sessionStorage.setItem('key',
¬ '27152949302e3bd0d681a6f0548912b9');
У вас есть значение, которому соответствует ключ «key», и метод 
key
 для объекта храни-
лища. Чуете, куда ветер дует?
Некоторые браузеры, в частности WebKit, переопределяют метод 
key
, используя указанное 
вами новое значение. Однако в инструментах разработки WebKit метод 
key
 применя-
ется для перечисления и отображения всех данных, связанных с объектом хранилища. 
Получается, что представление данных для указанного типа хранилища (в нашем случае — 
sessionStorage
) будет «сломано» до тех пор, пока двойственное значение не будет удалено. 
ПРИМЕЧАНИЕ
Надеюсь, по мере развития браузеры избавятся от подобных ошибок, но пока что могу только 
посоветовать не использовать имена, уже имеющиеся в API хранилища 
В других браузерах, таких как Firefox, метод 
key
 и значение «key» разделяются. Получить 
метод можно, применяя синтаксис 
expando
, а для получения значения можно использовать 
getItem('key')
.
Удаление данных
Существует три способа программного удаления данных из объекта хранилища: напрямую 
с помощью 
deleter

removeItem
 и 
clear
. Метод 
removeItem
 принимает ключ (тот же, ко-
торый используется с 
setItem
 и 
getItem
) и удаляет соответствующую запись.
Для того чтобы очистить объект хранилища полностью, удалив все записи, используйте 
clear
, например:
sessionStorage.setItem('remy', "Master of the Universe");
sessionStorage.setItem('bruce', "Master of the Puniverse");


Достарыңызбен бөлісу:
1   ...   215   216   217   218   219   220   221   222   ...   232




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет