Transcript
Jean Carlo Nascimento a.k.a. SUISSA
nosqlbr.com.brjquerybrasil.org
frontendbrasil.com.brgithub.com/suissaabout.me/suissa
@osuissa
Sem API
name=value
Tamanho máximo 4Kb
enviado ao server em toda requisição
function setCookie(c_name,value,exdays){ var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); document.cookie=c_name + "=" + c_value;}
fonte: http://www.w3schools.com/js/js_cookies.asp
function getCookie(c_name){ var i,x,y,ARRcookies=document.cookie.split(";"); for (i=0;i<ARRcookies.length;i++){ x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("=")); y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1); x=x.replace(/^\s+|\s+$/g,""); if (x==c_name){ return unescape(y); } }}
fonte: http://www.w3schools.com/js/js_cookies.asp
API Storage
key/value
Tamanho máximo 5Mb
não enviado ao servidor
SQL
Relacional
Tamanho padrão 5MB (ilimitado via manifest)
não enviado ao servidor
Indexed Database APIObjetos(JSON)
Tamanho padrão 5MB (ilimitado via manifest)
não enviado ao servidor
function supports_sessionStorage() { try { return 'sessionStorage' in window && window['sessionStorage'] !== null; } catch (e) { return false; }}
if (Modernizr.sessionstorage) { // sessionStorage esta disponível!} else { // bad bad browser, no donuts for you.}
function supports_localStorage() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; }}
if (Modernizr.localstorage) { // sessionStorage esta disponível!} else { // bad bad browser, no donuts for you.}
function supports_webSQL() { try { return !!window.openDatabase; } catch (e) { return false; }}
if (Modernizr.websqldatabase) { // WebSQL esta disponível!} else { // bad bad browser, no donuts for you.}
function supports_indexedDB() { try { return !!window.indexedDB || !!window.webkitIndexedDB || !!window.mozIndexedDB; } catch (e) { return false; }}
if (Modernizr.indexeddb) { // IndexedDB esta disponível!} else { // bad bad browser, no donuts for you.}
localStorage.setItem()localStorage.getItem()localStorage.clear()localStorage.key()localStorage.removeItem()
sessionStorage.setItem()sessionStorage.getItem()sessionStorage.clear()sessionStorage.key()sessionStorage.removeItem()
Asynchronous API
IDBCursor IDBDatabaseIDBFactoryIDBEnvironmentIDBIndexIDBObjectStoreIDBRequestIDBTransactionIDBVersionChangeEventIDBVersionChangeRequest
Synchronous API*
IDBCursorSyncIDBDatabaseSyncIDBEnvironmentSyncIDBFactorySyncIDBIndexSyncIDBObjectStoreSyncIDBTransactionSync
*não implementada ainda.
Referências
http://dev.w3.org/html5/webstorage/#the-sessionstorage-attributehttp://dev.w3.org/html5/webstorage/#dom-localstoragehttp://dev.w3.org/html5/webdatabase/http://www.w3.org/TR/IndexedDB/ https://developer.mozilla.org/en/IndexedDB
top related