简单的HTML5 Web Storage留言册

在这用一个简单的示例在讲解一下如何利用Web Storage来保存和读取数据。

示例HTML代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML5 WebStorage 留言本</title>
<script type="text/javascript" src="JS/liuyanben.js"></script>
</head>
<body>
<h3>HTML5 WebStorage 留言本</h3>
<textarea id="demo" cols="60" rows="10"></textarea><br />
<input type="button" value="留言" onclick="savelocalStorage('demo');" />
<input type="button" value="清除留言" onclick="clearlocalStorage('msg');" />
<hr />
<p id="msg"></p>
</body>
</html>

示例所用到的liuyanben.js 代码如下:

// JavaScript Document
function savelocalStorage(id){
var data=document.getElementById(id).value;
var time=new Date().getTime();
localStorage.setItem(time,data);
loadlocalStorage('msg');
}

function loadlocalStorage(id){
var result='<table border="1">';
for(var i=0;i<localStorage.length;i++){
var key=localStorage.key(i);
var value=localStorage.getItem(key);
var date=new Date();
date.setTime(key);
var datestr=date.toGMTString();
result +='<tr><td>'+value+'</td><td>'+datestr+'</td></tr>';
}
result +='</table>';
var target = document.getElementById(id);
target.innerHTML=result;
}

function clearlocalStorage(){
localStorage.clear();
loadlocalStorage('msg');
alert("localStorage留言已被清除!");
}

通过我们发现这个JS代码中有三个调用的函数,savalocalStorage、loadlocalStorage和clearlocalStorage。

1.savalocalStorage:使用new Date().getTime()得到当前时间,调用loadlocalStorage,将时间保存为键名,将文本框中的保存为键值,再调用localStorage函数在页面上显示保存的数据。


2.loadlocalStorage:取得数据用到了localStorage.length和localStorage.key两个重要的localStorage函数。localStorage.length是所有保存在localStorage中的数据条数,localStorage.key是将数据的索引号做为index传入,可以得到索引号对应的数据。索引从0开始,如第2条数据的所以号是1。


3.clearlocalStorage:利用localStorage中的clear方法,清除保存在localStorage中的全部数据。

注:为什么以日期和时间来做为键名?因为日期和时间的值是以时间戳的形式进行管理,所以不可能存在重复的键名。

posted @ 2012-04-12 19:58  张长胜  阅读(349)  评论(0编辑  收藏  举报