HTML5之WEB Storage
什么是HTML5 web storage?
使用HTML5,web页面能够使用用户的浏览器本地保存数据。
在曾经,通常我们使用cookie来保存用户数据。然而使用web存储更加安全和高速。数据不再包括在每个server请求中。仅仅存在你须要的时候。
同一时候我们也能够保存大量数据。而不影响站点的性能。
数据都保存成key/value形式,一个web页面仅仅能够訪问自己的数据。
浏览器支持





IE8+。Firefox,Chrome,Opera和Safari 5都支持这个特性。
注意IE7和更早版本号不支持这个特性。
localStorage和sessionStorage
这里有俩个新的用来保存数据的属性:
- localStorage - 没有过期时间的方式保存数据
- sessionStorage - 保存数据到session
在使用web storage之前,检查浏览器是否支持localStorage和sessionStorage:
- if(typeof(Storage)!=="undefined"){
- // Yes! localStorage and sessionStorage support!
- // Some code.....
- }else{
- // Sorry! No web storage support..
- }
localStorage Object
localStorage对象保存数据没有过期时间的问题。
数据在浏览器关闭后不会删除,并且一直有效。
- localStorage.lastname="Smith";
- document.getElementById("result").innerHTML="Last name: "
- + localStorage.lastname;
在线演示
代码说明:
- 创建了一个localStorage 键值对,使用key="lastname"。 value="Smith" 。
- 得到lastname相应的值,并且赋予id=result的元素
小技巧:键值对会以字符串方式存储。记住在必要的时候将他们转为其它格式
以下的样例计算了一个用户点击按钮的次数。
在这段代码中,将会把值转化为数字,这样能够使用加法:
- if (localStorage.clickcount){
- localStorage.clickcount=Number(localStorage.clickcount)+1;
- }else{
- localStorage.clickcount=1;
- }
- document.getElementById("result").innerHTML="You have clicked the button " + localStorage.clickcount + " time(s).";
在线演示
sessionStorage对象
sessionStorage对象和localStorage对象相似,除了保存的数据仅仅在当前session中有效。数据将会在用户关闭浏览器窗体时失效。
以下代码在当前的session中计算了用户点击的次数:
- if (sessionStorage.clickcount){
- sessionStorage.clickcount=Number(sessionStorage.clickcount)+1;
- }else{
- sessionStorage.clickcount=1;
- }
- document.getElementById("result").innerHTML="You have clicked the button " + sessionStorage.clickcount + " time(s) in this session.";
HTML5之WEB Storage的更多相关文章
- Html5的学习之旅-Html5的web Storage概述(16)
在html5中除了canvas,另外一个非常重要的功能是客户端本地存储web storage,之前可以在用户端Cookies存贮用户名等信息,后来发现Cookies存储存在以下问题: 大小:Cooki ...
- [Selenium] Android HTML5 中 Web Storage
在 HTML5 中,Web Storage 这个新特性可让用户将数据存储在本地的浏览器中.在早期的浏览器中可通过 cookies 来完成这个任务,但 Web Storage 会更加安全和高效,且 We ...
- HTML5存储 ——Web Storage(localStorage 和 sessionStorage)
一.localStorage对象临时储存API 方法: 1.localStorage.setItem(key,value)---设置存储内容 2.localStorage.getItem(key)-- ...
- HTML5本地存储 Web Storage
Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API sessionStorage 和 localStorage,二者的差异主要是数 ...
- HTML5 高级系列:web Storage
前言 HTML5 的 web Storage 存储方式有两种:localStorage 和 sessionStorage. 这两种方式都是通过键值对保存数据,存取方便,不影响网站性能.他们的用法相同, ...
- HTML5 Web Storage 特性
原文地址: Using HTML5 Web Storage 原文日期: 2010年06月28日 翻译日期: 2013年08月12日 当下Web开发领域最火爆的词语当属 HTML5.HTML5标准的新特 ...
- H5本地储存Web Storage
一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了C ...
- 解析H5本地储存Web Storage
一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了C ...
- HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)
1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息. 但是c ...
随机推荐
- ORACLE 中 TRANSLATE的用法
--TRANSLATE(string,from_str,to_str) --to_str和from_str中的字符一一对应 --如果string里有,from_str字符集里没有的字符,将保留 --如 ...
- C# Lock 解读
一.Lock定义 lock 关键字可以用来确保代码块完成运行,而不会被其他线程中断.它可以把一段代码定义为互斥段(critical section),互斥段在一个时刻内只允许一个线程进入执行, ...
- Java 调用 C/C++ 之 JNA 系列实战篇 —— 输出char * (六)
一. 工作环境 1. windows (64位), JDK (64位),dll文件 (64位) 2. Linux (64位), JDK (64位),so文件 (64位) 3. JNA的官方资 ...
- vSphereClient向ESXi主机分配许可证
ESXi服务器需要使用VMwarevSphereClient进行管理(7.0+版本可以通过浏览器进行管理)在VMware vSphere client可以方便的创建.管理虚拟机,并分配相应的资源.要能 ...
- JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
性能分析工具jstatjmapjhatjstack 前提概要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jsta ...
- Xcode下开发c静态库for ios CPU架构 静态库合并
新建一个Cocoa Touch Static Library工程 1,先在工程左侧删除“工程名Tests”下的文件与文件夹(从内往外删,最后删除"工程名Tests文件夹") :D ...
- Windwos下连远程linux Hbase小问题
前几天,兴起想仔细玩玩hbase,细细去研究一下,写了个小demo,从win7去连接另一台T510的ubuntu上的hbase.很简单的crud的操作程序,没有看出来什么问题,但是跑起来,硬是好像bl ...
- Install EPEL repo on CentOS 7 / RHEL 7
On CentOS 7, we have found without downloading the epel-release RPM package(as we used to do on prev ...
- 安装tomcat出现failed to install tomcat6 service错误及解决方法(转载)
安装安装版tomcat会出现failed to install tomcat6 service ,check your setting and permissio的概率是非常低的,但是最近楼主就老出现 ...
- UE寻找Actor
void FTestButtonModule::PluginButtonClicked() { GEngine->AddOnScreenDebugMessage(-, .f, FColor::R ...