html5 storage api

Post on 12-May-2015

1.617 Views

Category:

Devices & Hardware

2 Downloads

Preview:

Click to see full reader

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