在这用一个简单的示例在讲解一下如何利用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="留言" οnclick="savelocalStorage('demo');" />
<input type="button" value="清除留言" οnclick="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中的全部数据。

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

转载于:https://www.cnblogs.com/mixer/archive/2012/04/12/2444527.html

简单的HTML5 Web Storage留言册相关推荐

  1. 使用 jQuery Mobile 与 HTML5 开发 Web App (十六) —— HTML5 Web Storage

    绝大多数的软件都需要使用某种具有持久性的方式来存储数据,Web Apps 也不例外,涉及到完整后台的 Web Apps ,可以直接在后台使用 mysql 等数据库来存储数据,但过多的 sql 查询会影 ...

  2. HTML5 Web Storage用法

    早期的网页数据存储只能依赖于cookies,但它存在着容量有限且很小,不便于复杂数据的管理等问题,此外,还需将cookies附带在每一次网络请求之中.HTML5的出现,极大地增加了开发人员的开发灵活度 ...

  3. html5 web storage攻击,HTML5安全风险详析之二:Web Storage攻击

    **一.WebStorage简介** HTML5支持WebStorage,开发者可以为应用创建本地存储,存储一些有用的信息.例如LocalStorage可以长期存储,而且存放空间很大,一般是5M,极大 ...

  4. HTML5 Web Storage事件

    Storage事件 在某些复杂情况下,如果多个页面都需要访问本地存储的数据,就需要在存储区域的内容发生改变时,能够通知相关的页面. Web Storage API内建了一套事件通知机制,当存储区域的内 ...

  5. HTML5 Web Storage API

    Web Storage API Web Storage 是以键值对(key-value)的形式存储数据,要存储的数据需要一个名字作为键,然后就可以使用这个键来读取它的值.键是一个字符串.值可以是 Ja ...

  6. HTML5 基础知识,第 3 部分 HTML5 API 之应用-介绍HTML5 API 的用法和价值,Canvas 提供的创造性,以及Web storage的离线应用

    HTML5 集设计者和开发者于一身,其主要任务就是构建高效的丰富 Internet 应用程序之富网络应用 (Rich Internet Application,简称RIA),尤其是富 UI(User ...

  7. HTML5 Web存储(Web Storage)技术以及用法

    使用HTML5可以在本地存储用户的浏览数据.早些时候,本地存储使用的是 cookie.但是Web 存储需要更加的安全与快速,这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以 ...

  8. Web Storage中的sessionStorage和localStorage

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage. sessionStorage用于本地存储一个会话(session)中的数据,这些数据只 ...

  9. Where to Store your JWTs – Cookies vs HTML5 Web Storage--转

    原文地址:https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage Update 5/12/20 ...

  10. 使用 web storage 制作简单留言本

    使用 getItem 方法或使用 sessionStorage 对象或 localStorage 对象的自定义属性值读取数据,使用 setItem 方法或使用 sessionStorage 对象或 l ...

最新文章

  1. python 难度-Python分析 oj 网的题目难度和通过率的关系
  2. FortiAnalyzer-VM 安装使用
  3. POJ 2823 Sliding Window
  4. js 对象去除undefined_undefined和null区别
  5. 配置管理-SVN使用指南-Linux
  6. Python笔记-flask执行后台程序(非web应用)
  7. [Unity] FlowCanvas 使用注意事项
  8. Netty工作笔记0074---handler链调用机制实例1
  9. 禅道程序员的10条原则--转载--为了不忘
  10. 系统学习机器学习之神经网络(十) --BAM网络
  11. 还在写 BUG?试试 GitHub 官方代码扫描工具!
  12. win7 java下载_Windows7系统下JAVA运行环境下载、安装和设置(第二次更新:2012年03月14日)...
  13. 蓝桥杯2019年软件类省赛:真题+解答
  14. python分层抽样_抽样方法—分层抽样
  15. 湖南麒麟下安装mellanox网卡驱动问题
  16. 解锁计算机桌面,电脑锁屏按什么键解锁
  17. java泛型——泛型类、泛型方法、泛型接口
  18. unity开发 可使用Steam的Liv软件录制VR绿幕视频
  19. FFmpeg命令行将mp3/wav/flac/ape转pcm
  20. llvm libLLVMCore源码分析 05 - Instruction Class

热门文章

  1. C++基础语法-02-运算符重载
  2. Android签名机制学习笔记
  3. android本地图片选择(相册选取,相机拍摄)
  4. 牛逼!支付宝 App架构
  5. 周五,分享一个好消息
  6. python基础知识——文件
  7. linq判断集合中相同元素个数_高中数学:集合与函数概念知识点汇总
  8. apt get 安装mysql5.7_ubuntu16.04下apt-get安装mysql5.7,文件目录结构
  9. mysql 分页 数据重复数据_MySQL 分页数据错乱重复
  10. 表单修改php参数,php – 使用参数修改symfony表单的url