简单的HTML5 Web Storage留言册

PHP中文网
PHP中文网オリジナル
2016-05-17 09:08:231313ブラウズ

简单的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(&#39;demo&#39;);" />
<input type="button" value="清除留言" onclick="clearlocalStorage(&#39;msg&#39;);" />
<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(&#39;msg&#39;);
}
 
function loadlocalStorage(id){
var result=&#39;<table border="1">&#39;;
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 +=&#39;<tr><td>&#39;+value+&#39;</td><td>&#39;+datestr+&#39;</td></tr>&#39;;
}
result +=&#39;</table>&#39;;
var target = document.getElementById(id);
target.innerHTML=result;
}
 
function clearlocalStorage(){
localStorage.clear();
loadlocalStorage(&#39;msg&#39;);
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中的全部数据。


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

以上就是简单的HTML5 Web Storage留言册的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。