Web 存储
Web Storage
介绍
Web storage 是在web上存储数据的功能,这里的存储是针对客户端来说的. 具体说分为两种:
- seesionStorage
数据存储在 session 对象中。session,是指用户打开浏览器窗口浏览网站,从进入网站到关闭
这个窗口所经过的这段时间。seesion 对象可以用来保存这段时间所有的数据。 - localStorage
近数据持久化在客户端本地,即使浏览器关闭了,该数据也会存在,下次打开浏览器访问,数据也
会存在。
用法
它们两个有非常相似的 API , 它们主要存储 key-value
结构:
sessionStorage | localStorage | 功能 |
---|---|---|
setItem(key,value) | setItem(key,value) | 保存数据 |
getItem(key) | getItem(key) | 获取数据 |
removeItem(key) | removeItem(key) | 移除数据 |
窗口关闭 | clear() | 清空数据 |
它们两个共同监听 window.storage
事件,当 sessionStorage 和 localStorage 数组发生改
变的时候执行回调。示例代码:
window.addEventListener('storage', function(event){ //当 storage 的数据发生变化是执行 });
在事件处理函数中,事件 event 对象有下面几个属性
- event.key 在 storage 中数据被修改的键值
- event.oldValue 在 storage 中数据被修改前的值
- event.newValue 在 storage 中数据被修改后的值
- event.url 在 storage 中页面URL地址
- evnet.storageArea 当前变动的 sessionStorage 或 localStorage
注: 它们两个的 value 值不能接受JSON对象,只能存储字符串。所有保存对象的时候我们可以借助
JSON.stringify 和 JSON.parse 这两个方法来实现。
WebSql
介绍
html5 中大大丰富了客户端本地可以存储内容,添加了很多功能将原本必须保存在服务器上的数据转为保存在客户端,从而提供 Web 程序的性能,减轻服务器的负担。WebSql 的规范使用的是SQLLite,但可悲的是 Firefox 和 IE 浏览器都不支持, W3C 官方在 2011 年 11 月声明已经不再维护 Web SQL Database 规范,由于其广泛的实现程度,了解这些 API 对 Web 开发还是非常有必要的。
用法
提供了三个重要的API,大致先简单介绍下:
- openDatabase 创建一个访问数据库的对象
- transaction 用来执行事务处理,控制事务提交或回滚
- executeSql 用来执行Sql
接下来我们详细说一下每个API的用法:
var db = openDatabase('myDb', '1.0', 'Test DB', 1024);
该方法有接受四个参数:
1. 数据库名称
2. 数据库版本
3. 数据库描述
4. 数据库大小。
方法的返回值是创建后的数据库访问对象,如果该数据库不存在,会自动创建它。db.transaction(function(tx) { tx.executeSql(......); }
该方法可以接受三个参数:
1. 事务内容的一个方法(参数为事务上下文对象)
2. 事务执行成功的回调
3. 事务失败的回调。
使用事务处理可以防止在对数据库进行访问的时候和操作的时候不受到外界的干扰,在Web上,同时
会有好多用户对页面进行访问。tx.executeSql('insert ... values(?)',[name], dataHandler, errorHandler')
该方法也接受四个参数:
1. 要执行的sql语句
2. 用于替换sql语句中 ? 参数
3. 执行成功的回调函数,回调函数有两个参数,第一个是 transaction对象,第二个是操作结果对象
4. 回调函数有两个参数,回调函数有两个参数,第一个是 transaction对象,第二个是错误消息
Web 存储的更多相关文章
- html5的web存储
在html5标准之前,web存储信息需要cookie来完成,但是cookie不适合大量数据存储.因为需要等待服务器响应,所以速度慢/效率低. 本地存储的特点: localstorage是仅存储在用户的 ...
- 临时存存储页面上的数据---Web存储
HTML5 Web存储的两种方法使用 localStorage和sessionStorage 参考: http://www.cnblogs.com/taoweiji/archive/2012/12/0 ...
- 【读书笔记】HTML5 Web存储
PS:这里讲web存储,主要是在客户端存储的一些技术:cookie,localstorage,sessionstorage,WebSQL. Cookie Cookie是HTML4中在客户端 ...
- 【html5】Web存储_locaStorage对象的应用
Web存储 html5可以在本地存储用户浏览的数据,数据的存储原理是以 键/值 存储的 存储对象分类 localStorage:没有时间限制的数据存储 sessionStorage:针对一个会话的数据 ...
- 【高级功能】使用Web存储
Web存储允许我们在浏览器里保存简单的键/值数据.Web存储和cookie很相似,但它有着更好的实现方式,能保存的数据量也很大.这两种类型共享相同的机制,但是被保存数据的可见性和寿命存在区别. PS: ...
- 【温故而知新-Javascript】使用Web存储
Web存储允许我们在浏览器里保存简单的键/值数据.Web存储和cookie很相似,但它有着更好的实现方式,能保存的数据量也很大.这两种类型共享相同的机制,但是被保存数据的可见性和寿命存在区别. PS: ...
- Web存储(Web Storage)的浏览器支持情况
所有很酷的功能特征的出现最关键的就是浏览器的支持情况,幸运的是,所有的现代浏览器都支持HTML5 Web存储(Web Storage),从IE8开始也支持它.HTML5 Web存储(Web Stora ...
- HTML5本地化应用开发-HTML5 Web存储详解
文章不是简单的的Ctrl C与V,而是一个字一个标点符号慢慢写出来的.我认为这才是是对读者的负责,本教程由技术爱好者成笑笑(博客:http://www.chengxiaoxiao.com/)写作完成. ...
- HTML5 Web存储(Web Storage)技术及用法
在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣 ...
- Web存储(Web Storage)介绍
Web存储即在客户端存储数据. 在没有Web Storage之前,是通过cookie来在客户端存储数据的.但是由于 浏览器能存cookie数比较少.如IE8,Firefox,opera每个域可以保存的 ...
随机推荐
- java字符乱码
在java中处理字符时,经常会发生乱码,而主要出现的地方在读取文本文件时发生,或者是写入到文件中,在其他地方打开乱码. 如下例子: BufferedReader br = null; try { br ...
- UIViewController生命周期-完整版
一.UIViewController 的生命周期 下面带 (NSObject)的方法是NSObject提供的方法.其他的都是UIViewController 提供的方法. load (NSObje ...
- Linux上如何查看物理CPU个数,核数,线程数
首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...
- 【Machine Learning】Python开发工具:Anaconda+Sublime
Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...
- python之最强王者(9)——函数
1.Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...
- SpringMVC+Shiro权限管理【转】
1.权限的简单描述 2.实例表结构及内容及POJO 3.Shiro-pom.xml 4.Shiro-web.xml 5.Shiro-MyShiro-权限认证,登录认证层 6.Shiro-applica ...
- iOS开源项目周报1215
由OpenDigg 出品的iOS开源项目周报第一期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. PY ...
- iOS开发 判断当前APP版本和升级
从iOS8系统开始,用户可以在设置里面设置在WiFi环境下,自动更新安装的App.此功能大大方便了用户,但是一些用户没有开启此项功能,因此还是需要在程序里面提示用户的 方法一:在服务器接口约定对应的数 ...
- (资源整理)带你入门Spark
一.Spark简介: 以下是百度百科对Spark的介绍: Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方 ...
- jenkins无法重启tomcat的原因
在使用Hudson的执行sh脚本的时候,如果sh脚本是一个后台进程,如 Tomcat 这样的服务.如果使用Hudson的默认配置,会发现这些sh 进程有启动的过程,但是不会常驻后台,看Hudson 输 ...