Upload
belarus-state-university
View
891
Download
0
Embed Size (px)
Citation preview
Browser Persistence
Илья Кантор javascript.ru
Этот доклад прочитан на конференции Байнет 2.2 Beta
11-12 сентября 2008 года, Минск Официальный сайт www.bynet2.org
Persistence? В браузере?!
Cookie маленькие объекты каждый запрос – летят на сервер
Идеально для сессий
Persistense большие объекты никуда не передаются
Offline-работа Интерфейсы
состояние на клиенте
Средства
Google Gears РСУБД на клиенте плагин к браузеру
Средства
WhatWG / HTML 5storage без плагинов
ключ-значение база данных
Safari
Пример
storage = globalStorage[document.domain]
storage['userName'] = 'Vasya‘ alert(storage['userName']) delete storage['userName'] for(var name in storage)
…. storage[name]…
Размер: 5 MB
Безопасность: Same Origin
Средства
без ActiveX IE-only можно поставить Expires
userData behavior
5.0+
Пример storage = document.getElementById('storageElement')
storage.addBehavior("#default#userData")
storage.load("namespace")
storage.setAttribute(key, value)
var attrs = storage.XMLDocument.documentElement.attributes
for(var i=0; i<attrs.length; i++)
… attrs[i].name … attrs[i].value
Размер: 128K страница / 1M домен
зависит от зоны
Безопасность: path + domain + protocol
Средства
SQLite в рамках домена
HTML5 - БД
Safari
Пример
db.transaction(function(tx) {
tx.executeSql("SELECT value FROM test WHERE key=?", [key],
function(tx,result) {
alert("Количество: "+result.rows.length)
alert("Поле value первого результата: "+ result.rows.item(0).value)
},
function(tx, error) { alert("Error!") } )
})
Размер: 5 MB
Безопасность: Домен
Средства
Flash SharedObject
Хранение через вспомогательный Flash-ролик ~97% распространенность Многие блокируют Flash из-за баннеров Своя схема безопасности
Cross-browser persistence
userData
5.0+
WhatWG ключ/значение
database storage
Safari
Flash
KonquerorOpera
Ваши вопросы?
Еще примеры:http://javascript.ru/tutorial/storage