復(fù)制代碼代碼如下: Web Storage 技術(shù)在web上存儲數(shù)據(jù)即針對客戶端本地;具體來說分為兩種: sessionStrage: session即會話的意思,在這里的session是指用戶瀏覽某個網(wǎng)站時,從進入網(wǎng)站到關(guān)閉網(wǎng)站這個時間段,session對象的有效期就只有這么長。 /p p localStorage: 將數(shù)據(jù)保存在客戶端硬件設(shè)備上,不管它是什么,意思就是下次打開計算機時候數(shù)據(jù)還在。 /p p 兩者區(qū)別就是一個作為臨時保存,一個擁有長期保存。
使用示例
復(fù)制代碼代碼如下: 簡單應(yīng)用 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head title /title /head body h1 Web Storage 實驗 /h1 div id="msg" /div input type="text" id="text" / select id="type" option value="session" sessionStorage /option option value="local" localStorage /option /select button 保存數(shù)據(jù) /button button 讀取數(shù)據(jù) /button script type="text/javascript" var msg = document.getElementById('msg'), text = document.getElementById('text'), type = document.getElementById('type');
function save() { var str = text.value; var t = type.value; if (t == 'session') { sessionStorage.setItem('msg', str); } else { localStorage.setItem('msg', str); } }
function load() { var t = type.value; if (t == 'session') { msg.innerHTML = sessionStorage.getItem('msg'); } else { msg.innerHTML = localStorage.getItem('msg'); } }
復(fù)制代碼代碼如下: 簡單留言板 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head title /title /head body h1 Web Storage 實驗 /h1 div id="msg" style="margin: 10px 0; border: 1px solid black; padding: 10px; width: 300px; min-height: 100px;" /div input type="text" id="text" / button 留言 /button button 清空 /button script type="text/javascript" var msg = document.getElementById('msg'), text = document.getElementById('text');
function save() { var str = text.value; var k = new Date().getTime(); localStorage.setItem(k, str); init(); }
function init() { msg.innerHTML = ''; var dom = ''; for (var i = 0, len = localStorage.length; i len; i++) { dom += ' div ' + localStorage.key(i) + ':' + localStorage.getItem(localStorage.key(i)) + ' /div ' } msg.innerHTML = dom; }
function _clear() { msg.innerHTML = ''; localStorage.clear(); }
//初始化界面 function init(name) { db.transaction(function (tx) { tx.executeSql('create table if not exists phoneBook(name text, phone text)', []); var sql = 'select * from phoneBook where 1=1'; var param = []; if (name) { sql += ' and name=? '; param.push(name); } tx.executeSql(sql, param, function (tx, rs) { phoneBook.html(''); for (var i = 0, len = rs.rows.length; i len; i++) { var data = rs.rows.item(i); showData(data); } }); }); }
function showData(data) { var str = ' div 姓名:' + data.name + ';電話:' + data.phone + ' span 刪除 /span /div phoneBook.append($(str)); }
//刪除數(shù)據(jù) function deleteByName(name) { db.transaction(function (tx) { tx.executeSql('delete from phoneBook where name=?', [name], function (tx, rs) { init(); }) }); } window.del = deleteByName; //增加 function save(name, phone) { db.transaction(function (tx) { tx.executeSql('insert into phoneBook values(?, ?)', [name, phone], function (tx, rs) { var d = {}; d.name = name; d.phone = phone; showData(d); }) }); }