THML5本地存储 Web Storage

Web Storage 介绍

HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API  sessionStorage 和 localStorage,二者的差异主要是数据的保存时长及数据的共享方式。

? localStorage 一直存储在本地,数据存储是永久的,除非用户或程序对其进行删除操作;

? sessionStorage在会话期内有效,数据在浏览器关闭后自动删除;

localStorage是基于域的,任何在该域内的页面都可以访问, sessionStorage在保存它的窗口,和由当前窗口创建的新窗口有效,直到相关联的标签页关闭;

在没有Web Storage之前,是通过cookie来在客户端存储数据的。但是由于

?浏览器能存cookie数比较少。如IE8,Firefox,opera每个域可以保存的50个cookie,Safari/WebKit没有限制。一个cookie最多可以存放4096B左右的数据。

?每次请求时,cookie都会存放在请求头中,传输到服务器端。但如果请求头
大小超过了限制,服务器会处理不了。

因此cookie不适合大量数据的存储。相比用Web Storage更适合存储大量数据。

Web Storage 浏览器兼容情况

Android平台和 IOS 平台各自的浏览器都基本上支持 Web Storage 本地存储特性。 目前市场上的移动设备, 除了 android 手机和 iphone 手机外,越来越多的平板电脑面世,而且基本上依赖着两种平台。在移动端使用 Web Storage 我们几乎不需要考虑浏览器是否支持, 当然从代码的严谨来说,建议最好在使用前先检查浏览器是否支持。

if (window.localStorage) {
	alert(‘浏览器支持localStorage‘);
}else{
	alert(‘浏览器不支持localStorage‘);
}
//或者
if (typeof(window.localStorage) == ‘undefined‘) {
	alert(‘浏览器不支持localStorage‘);
}else{
	alert(‘浏览器支持localStorage‘);
};

localStorage和sessionStorage操作

localStorage和sessionStorage都具有相同的操作方法

setItem 存储value

sessionStorage.setItem("key", "value")
localStorage.setItem("site", "fy98.com")

getItem 获取value

var value = sessionStorage.getItem("key")
var site = localStorage.getItem("site")

  removeItem 删除key

sessionStorage.removeItem(‘key‘)
localStorage.removeItem(‘site‘)

  clear 清除所有的key/value

sessionStorage.clear()
localStorage.clear()

  其他操作方法 .和 [] 访问

web Storage不但可以用自身的setItem,getItem等方便存取,也可以像普通对象一样用点.操作符,及[]的方式进行数据存储。

var storage = window.localStorage;
storage.key1 = ‘hello‘;
storage[‘key2‘] = ‘world‘;
console.log(storage.key1);
console.log(storage["key2"]);

  遍历

var storage = window.localStorage;
storage.key1 = ‘hello‘;
storage[‘key2‘] = ‘world‘;
var len = storage.length;
for (var i = 0; i < len; i++) {
	var key = storage.key(i);
	var value = storage.getItem(key);
	console.log(key + "=" + value);
};

  Storage 事件监听

对 Storage 进行存取操作的同时,如果需进行监听,可以使用 HTML5 Web Storage API内置的事件监听器对数据进行监控, Storage中的数据有任何变动,Storage监听器都能捕获,接口定义:

interface StorageEvent : Event {
  readonly attribute DOMString key;
  readonly attribute DOMString? oldValue;
  readonly attribute DOMString? newValue;
  readonly attribute DOMString url;
  readonly attribute Storage? storageArea;
};

? key 表示属性中的键名。

? oldValue 更新前的键值。

? newValue 数据更新后的键值。

? url 记录 Storage 事件发生时的源地址。

? storageArea 指向事件监听对应的 Storage对象。

使用 w3c 标准事件注册方法 addEventListener 进行注册监听:

if (window.addEventListener) {
	window.addEventListener("storage", handle_storage, false);
}else if (window.attachEvent) {
	window.attachEvent("onstorage", handle_storage);
};
function handle_storage(e){
	if(!e){
		e = window.event;
	}
	console.log(‘fire on storage‘);
}

  

时间: 2024-10-12 03:14:43

THML5本地存储 Web Storage的相关文章

HTML5 本地存储Web Storage简单了解

?HTML5本地存储规范,定义了两个重要的API :Web Storage  和  本地数据库Web SQL Database. 本地存储Web Storage 实际上是HTML4的cookie存储机制的一个改进版本,然而两种机制的功能又不相同.web storage 的作用是在网站中把有用的信息存储到本地的计算机 或移动设备上,然后根据实际需要从本地读取信息. web storage 提供了两种存储类型API接口:sessionStorage 和 localStorage .sessionSt

HTML5本地存储 Web Storage

Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API  sessionStorage 和 localStorage,二者的差异主要是数据的保存时长及数据的共享方式. localStorage 一直存储在本地,数据存储是永久的,除非用户或程序对其进行删除操作: sessionStorage在会话期内有效,数据在浏览器关闭后自动删除: localStorage是基于域的,任何在该域内的页面都可以访问, sessionStorage在保

【HTML5与CSS3基础】HTML5本地存储 Web Storage

概述 本地存储Web Storage实际上是HTML4的Cookies存储机制的一个改进版本.它的作用是在网站中把有用的信息存储到本地的计算机或移动设备上,然后根据需要从本地读取信息. Web Storage 有两种存储类型的API: sessionStorage localStorage 两者之间的差别在于生命周期:前者在会话期间有效:后者永久存储在本地,除非用户或程序对其执行删除操作. 浏览器支持情况:IE8.0以上,Chrome3.0以上. API介绍 浏览器支持情况检测 <!DOCTYP

html5本地存储web storage的简单使用

html5的一个非常cool的功能,就是web storage,类似于之前的cookie,不过与之不同的是,web storage 拥有本地5兆的容量可以存储,而cookie却只有4K,这是完全不能比的优势. webstrange又分为:localstorage,sessionstorage和本地数据库. 接下来我就来一一介绍: 1 localstorage  localstorage 的使用比较简单,方法有: localStorage.setItem(key,value);//保存数据 loc

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

在如今的Web开发中,HTML5是大家讨论的最大一个话题.HTML5提供的新功能特征使得Web程序员如虎添翼,并免去了以往钻研各种方法来让网站更好.更快.更灵活的气力.这些新功能中有一个非常让我感兴趣,它就是Web存储(Web Storage).Web存储(Web Storage)提供了一个在浏览器端保存用户会话信息的方法.下面让我们来看一看Web存储(Web Storage)的基本用法! Web存储(Web Storage)基本要领 存储的数据可以是任何类JSON的结构化数据. 存储的数据不会

Web存储(Web Storage)的浏览器支持情况

所有很酷的功能特征的出现最关键的就是浏览器的支持情况,幸运的是,所有的现代浏览器都支持HTML5 Web存储(Web Storage),从IE8开始也支持它.HTML5 Web存储(Web Storage)非常简单但也非常有用.因为HTML5 Web存储(Web Storage)需要使用JavaScript进行操作,所以,在使用它执行一些关键功能时要确保浏览器支持这个特征并开启了JavaScrpt脚本功能.

HTML5 Web存储(Web Storage)(2)

Web Storage是HTML5引入的一个非常重要的功能,在前端开发中经常用到,可以在客户端本地存储数据,类似HTML4的cookie,但可实现功能要比cookie强大的多,cookie大小被限制在4KB,Web Storage官方建议为每个网站5MB.Web Storage又分为两种: sessionStorage     localStorage 从字面意思就可以很清楚的看出来,sessionStorage将数据保存在session中,浏览器关闭也就没了:而localStorage则一直将

H5本地储存Web Storage

一.本地存储由来的背景 由于HTML4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是Cookie的这些限制,也就导致了Cookie只能存储一些ID之类的标识符等简单的数据. 下面是Cookie的限制: 大多数浏览器支持最大为 4096 字节的 Cookie.    浏览器还限制站点可以在用户计算机上存储的 Cookie 的数量.大多数浏览器只允许每个站点存储 20 个Cookie:如果试图存储更多 Cookie,则最

HTML5本地存储——Web SQL Database

在HTML5 WebStorage介绍了html5本地存储的Local Storage和Session Storage,这两个是以键值对存储的解决方案,存储少量数据结构很有用,但是对于大量结构化数据就无能为力了,灵活大不够强大. Web SQL Database 我们经常在数据库中处理大量结构化数据,html5引入Web SQL Database概念,它使用 SQL 来操纵客户端数据库的 API,这些 API 是异步的,规范中使用的方言是SQLlite,悲剧正是产生于此,Web SQL Data