Web Storage简单使用
在HTML5中重新提供了一种在客户端本地保存数据的功能,它就是Web Storage功能。Web Storage功能,就是在Web上存储数据的功能。具体来说,又分为两种:
- sessionStorage:将数据保存在session对象中。所谓session,是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间。session对象可以用来保存在这段时间内所要求保存的任何数据。
- localStorage:将数据保存在客户端本地的硬件设备(通常指硬盘,但也可以是其他硬件设备)中,即使浏览器被关闭了,该数据仍然存在,下次打开浏览器访问网站时仍然可以继续使用。
两者的区别在于,sessionStorage为临时保存,而localStorage为永久保存。使用sessionStorage时,如果关闭了浏览器,数据就会丢失;而使用localStorage时,即使浏览器关闭了,下次打开浏览器时仍然可以读取被保存的数据。但是,数据保存是按不同的浏览器分别进行的,也就是说,如果打开别的浏览器,是读取不到在这个浏览器中保存的数据的。
基本使用方法包括:
- sessionStorage.setItem(key, value)、localStorage.setItem(key, value):在sessionStorage对象、localStorage对象中保存数据。
- sessionStorage.getItem(key)、localStorage.getItem(key):读取保存在sessionStorage对象、localStorage对象中的主键为key的值。
- sessionStorage.length、localStorage.length:所有保存在sessionStorage对象、localStorage对象中数据记录的条数。
- sessionStorage.key(index)、localStorage.key(index):将想要得到数据的索引号作为index参数传入,可以得到sessionStorage对象、localStorage对象中与这个索引号对应的主键数据。
使用示例
示例所用页面代码:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn" dir="ltr"> <head> <meta charset="UTF-8" /> <title>Web Storage</title> <script type="text/javascript" src="../js/jquery-1.6.4.js"></script> <script type="text/javascript" src="../js/webStorage.js"></script> </head> <body> <header> </header> <aside> </aside> <section> <h1>sessionStorage和localStorage</h1> <form name="sample01" id="sample01"> <label for="sTest">使用sessionStorage</label> <input type="text" id="sTest" name="sTest"/> <button type="button" id="saveBtn1">保存数据</button> <button type="button" id="loadBtn1">读取数据</button><br/> <label for="lTest">使用localStorage</label> <input type="text" id="lTest" name="lTest"/> <button type="button" id="saveBtn2">保存数据</button> <button type="button" id="loadBtn2">读取数据</button> </form> <table> <thead> <tr> <th>Key</th> <th>Value</th> </tr> </thead> <tbody></tbody> <tfoot> <tr> <th>Total</th> <th>0</th> </tr> </tfoot> </table> </section> <footer> <button type="button" id="clearBtn">清除</button> <div id="console"></div> </footer> </body> </html>
JavaScript脚本代码如下:
$(function() { var progressSave = function(storageObj, data) { var current = (new Date()).getTime(); storageObj.setItem(current, data); }; var insertRecord = function(key, value) { $("<tr>").append($("<td>").text(key)).append($("<td>").text(value)) .prependTo("tbody"); }; var progressLoad = function(storageObj) { var length = storageObj.length; var key = null; var date = new Date(); for ( var i = 0; i < length; i++) { key = storageObj.key(i); date.setTime(key); insertRecord(date.toLocaleString(), storageObj.getItem(key)); } $("tfoot th:last").text($("tbody>tr").size()); }; $("#saveBtn1").click(function(event) { progressSave(sessionStorage, $("#sTest").val()); }); $("#loadBtn1").click(function(event) { progressLoad(sessionStorage); }); $("#saveBtn2").click(function(event) { progressSave(localStorage, $("#lTest").val()); }); $("#loadBtn2").click(function(event) { progressLoad(localStorage); }); $("#clearBtn").click(function(event) { $("#console,tbody").empty(); $("tfoot th:last").text($("tbody>tr").size()); }); });
作为简易数据库使用
保存数据流程
- 从各输入字段中获取数据;
- 创建对象,将获取的数据作为对象的属性进行保存;
- 将对象转换成JSON格式的文本数据;
- 将文本数据保存在localStorage对象或sessionStorage对象中。
为了将数据保存为一个对象,使用“new Object()”语句创建一个对象,将各种数据保存在该对象的各个属性中,然后,为了将对象转换成JSON格式的文本数据,使用了JSON对象的stringify()方法,使用方法如下:
var str = JSON.stringify(data);
该方法接受一个参数data,该参数表示要转换成JSON格式的文本数据的对象,该方法的作用是将对象转换成JSON格式的文本数据,并将其返回。
读取数据流程
- 从localStorage对象或sessionStorage对象中,将检索用的关键词作为key获取对应数据;
- 将获取的数据转换成为JSON对象;
- 取得JSON对象的各个属性值,创建要输出的内容;
- 将要输出的内容在页面上呈现出来。
这个过程的关键是使用JSON对象的parse()方法,将从localStorage对象或sessionStorage对象中获取的数据转换成JSON对象,使用方法如下:
var data = JSON.parse(str);
该方法接受一个参数str,此参数表示从localStorage对象或sessionStorage对象中取得的数据,该方法的作用是将传入的数据转换成JSON对象,并且将该对象返回。
使用示例
var save = function() { var data = new Object(); data.name = $("#name").val(); data.email = $("#email").val(); data.tel = $("#tel").val(); var str = JSON.stringify(data); localStorage.setItem(data.name, str); }; var read = function() { var key = $("#key").val(); var str = localStorage.getItem(key); var data = JSON.parse(str); // 呈现数据 };
发表评论
-
使用选择器在页面中插入内容
2011-11-08 10:09 0使用选择器来插入文字 使用选择器来插入内容 在CSS2中, ... -
HTML5 绘制图形【4】
2011-11-08 08:39 1713绘制变形图形 坐标变换 绘制图形的时候,我们可能会想要旋转 ... -
CSS3 选择器【2】
2011-11-07 14:30 1136UI元素状态伪类选择器 UI元素状态伪类选择器的共同特征是: ... -
HTML5 绘制图形【3】
2011-11-05 19:28 1334绘制渐变图形 渐变是指在填充时从一种颜色慢慢过渡到另外一种颜 ... -
CSS3 选择器【1】
2011-11-06 12:19 1751选择器概述 选择器是CS ... -
HTML5 绘制图形【2】
2011-11-04 11:42 1443使用路径 绘制圆形 要 ... -
HTML5 绘制图形【1】
2011-11-03 12:48 1558canvas元素基础 canvas元素是HTML5中新增的一 ... -
CSS3 模块化结构
2011-11-03 19:12 1541CSS3中的模块 模块名称 功能描述 Basi ... -
HTML5 获取地理位置信息
2011-11-01 18:12 5446Geolocation API的基本知识 在HTML5中,为 ... -
HTML5 使用Web Worker处理线程
2011-11-01 09:16 4694基础知识 Web Worker是在HTML5中新增的,用来在 ... -
HTML5 Web Sockets通信
2011-10-29 20:15 4175基础介绍 Web Sockets是HTML5提供的在Web应 ... -
HTML5 跨文档消息传输
2011-10-29 19:11 2034基本介绍 HTML5提供了在网页文档之间互相接收与发送信息的 ... -
HTML5 离线应用程序【2】
2011-10-27 20:48 1894applicationCache对象 application ... -
HTML5 离线应用程序【1】
2011-10-27 14:02 1583离线Web应用程序介绍 在HTML5中新增了一个API,为离 ... -
HTML5 本地数据库
2011-10-24 21:03 2623本地数据库的基本概念 ... -
HTML5 多媒体播放【3】
2011-10-23 10:45 1253video元素和audio元素的方法 play()方法:使 ... -
HTML5 多媒体播放【2】
2011-10-22 21:14 1752音频和视频元素的属性 这两种元素所具有的属性大致相同,介绍如 ... -
HTML5 多媒体播放【1】
2011-10-21 18:58 973video与audio元素基础 在HTML5中,video元 ... -
HTML5 拖放API
2011-10-17 19:43 4973在HTML5中,已经支持在浏览器与其他应用程序之间的数据互相拖 ... -
HTML5 文件API
2011-10-16 18:49 5052在HTML5中,提供了一个关于文件操作的文件API,通过使用这 ...
相关推荐
HTML5 Web Storage 是一种在浏览器端存储数据的技术,它提供了比传统Cookie更高效、容量更大的存储空间,使得网页可以离线存储数据并提高应用程序的性能。Web Storage 分为两种主要类型:Session Storage 和 Local ...
HTML5 WebStorage是现代网页应用中用于本地存储数据的关键特性,它解决了传统cookie技术的一些局限性,提供了更高效、安全的存储方式。WebStorage主要包含两种类型:localStorage和sessionStorage。 1. ...
HTML5中的Web Storage是网页应用用来在客户端存储数据的重要特性,它主要分为两种类型:sessionStorage和localStorage。这两种存储方式都是为了替代传统Cookie的局限性,提供更大的存储空间和更高效的本地数据管理。...
从第2 章起,分别围绕构建令人神往的富web 应用,逐一讨论了html5 的canvas、geolocation 、communication、websocket、forms、web workers、storage 等api 的使用, 辅以直观明了的客户端和服务器端示例代码,让...
适用于Angular2HTML5 WebStorage API (服务) (服务) (装饰器) (功能) 用 下载库: npm install h5webstorage --save 2.将模块和提供程序导入顶级模块: import { WebStorageModule } from "h5web...
在HTML5中,Web Storage是一项重要的本地存储技术,它解决了传统cookie存在的诸多问题,如大小限制和不必要的网络传输。Web Storage分为两种类型:Session Storage和Local Storage,两者都是用来在用户的浏览器上...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
从第 2章起,分别围绕构建令人神往的富Web 应用,逐一讨论了HTML5的Canvas、Geolocation、Communication、WebSocket、Forms、WebWorkers、Storage等API的使用,辅以直观明了的客户端和服务器端示例代码,让开发人员...
### HTML5 WebStorage详解 #### 引言 随着互联网应用的日益丰富,用户对网站功能的需求也越发多样化,这促使了HTML5等新一代Web技术的诞生。其中,WebStorage是HTML5的重要特性之一,它提供了两种在客户端浏览器上...
* HTML5 WebStorage:HTML5 的本地存储技术,可以用于存储客户端的数据 * HTML Color Picker:一种 JavaScript 实现的拾色器效果,可以用于选择颜色 * Java 获取 html 中 Select,radio 多选的值方法:一种使用 Java ...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
本书由旧金山HTML5用户组创建人联合另两位资深Web开发专家共同打造,为读者清晰解读了HTML5规范的缘由、发展和现状,全面展示了如何使用 WebSocket、Geolocation、Web Storage、Canvas及音频视频等前所未有的新...
HTML5应用开发技术中,Web Storage是一个重要的特性,它提供了比传统Cookie更高效、容量更大的本地数据存储解决方案。Web Storage分为两种类型:localStorage和sessionStorage,它们都是为了解决浏览器端的数据存储...
于是,Web Storage作为HTML5的一项重要特性应运而生,为开发者提供了更高效、更灵活的数据存储解决方案。 Web Storage分为两种类型:Session Storage和Local Storage。它们的主要区别在于数据的生命周期和作用范围...