Java

         

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); }



Содержание раздела