Internet Explorer. userData.
Internet Explorer 8 реализует DOM Storage, в то время как версии начиная от 5й поддерживают собственный интерфейс: userData behavior.
Он работает посредством выделенного DOM-элемента, которому назначается behavior userData. В этот элемент загружается нужное пространство имен, и данные становятся доступны через атрибуты.
<span id="storageElement"></span>
<script> storage = document.getElementById('storageElement') if (!storage.addBehavior) { alert("userData not available.") } else { // поставить userData behavior storage.addBehavior("#default#userData") // загрузить пространство имен storage.load("namespace") }
</script>
После инициализации можно работать с данными. Для записи изменений используется метод save.
function put(key, value) { // записать значение
storage.setAttribute(key, value)
storage.save("namespace")
}
function get(key) { // получить значение
return storage.getAttribute(key)
}
function remove(key) { // удалить значение
storage.removeAttribute(key)
storage.save("namespace")
}
Как это часто бывает с Internet Explorer, некоторые операции делаются неочевидным :) образом.
Так, например, получить все сохраненные данные из storage.attributes нельзя. Там хранятся только атрибуты самого HTML-элемента.
Данные же хранятся в свойстве storage.XMLDocument.documentElement.attributes.
Например, следующий код создает список вида ключ:значение.
var list = []
var attrs = storage.XMLDocument.documentElement.attributes
for(var i=0; i<attrs.length; i++) {
list.push(attrs[i].name+':'+attrs[i].value); }