12
Browser Persistence Илья Кантор javascript.ru

Browser Persistence Bynet

Embed Size (px)

Citation preview

Page 1: Browser Persistence Bynet

Browser Persistence

Илья Кантор javascript.ru

Page 2: Browser Persistence Bynet

Этот доклад прочитан на конференции Байнет 2.2 Beta

11-12 сентября 2008 года, Минск Официальный сайт www.bynet2.org

Page 3: Browser Persistence Bynet

Persistence? В браузере?!

Cookie маленькие объекты каждый запрос – летят на сервер

Идеально для сессий

Persistense большие объекты никуда не передаются

Offline-работа Интерфейсы

состояние на клиенте

Page 4: Browser Persistence Bynet

Средства

Google Gears РСУБД на клиенте плагин к браузеру

Page 5: Browser Persistence Bynet

Средства

WhatWG / HTML 5storage без плагинов

ключ-значение база данных

Safari

Page 6: Browser Persistence Bynet

Пример

storage = globalStorage[document.domain]  

storage['userName'] = 'Vasya‘ alert(storage['userName']) delete storage['userName']   for(var name in storage)

…. storage[name]…

Размер: 5 MB

Безопасность: Same Origin

Page 7: Browser Persistence Bynet

Средства

без ActiveX IE-only можно поставить Expires

userData behavior

5.0+

Page 8: Browser Persistence Bynet

Пример 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

Page 9: Browser Persistence Bynet

Средства

SQLite в рамках домена

HTML5 - БД

Safari

Page 10: Browser Persistence Bynet

Пример

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

Безопасность: Домен

Page 11: Browser Persistence Bynet

Средства

Flash SharedObject

Хранение через вспомогательный Flash-ролик ~97% распространенность Многие блокируют Flash из-за баннеров Своя схема безопасности

Page 12: Browser Persistence Bynet

Cross-browser persistence

userData

5.0+

WhatWG ключ/значение

database storage

Safari

Flash

KonquerorOpera

Ваши вопросы?

Еще примеры:http://javascript.ru/tutorial/storage