HTML5新方法:前端存储localStorage的使用总汇

时间: 2017-12-26阅读: 280标签: 存储

localStorage是什么?

在HTML5中有一个localStorage的新特性,它主要用于本地存储使用,目的是为了解决了cookie存储空间小的问题(cookie中每条cookie的存储空间为4k),而localStorage一般在浏览器上支持的是5M大小(跟浏览器厂商有关系)。


localStorage特点

1.目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换

2.localStorage在浏览器的隐私模式下面是不可读取的

3.localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

4.localStorage不能被爬虫抓取到

5生命周期:localStorage属于永久性存储,而sessionStorage属于当会话结束的时候,sessionStorage中的键值对会被清空。(这也是localStorage与sessionStorage的唯一一点区别)

6当本页操作(新增、修改、删除)了localStorage的时候,本页面不会触发storage事件,但是别的页面会触发storage事件


localStorage的兼容


可以看出localStorage的兼容性还是不错的,就国内的情况,已经基本没有问题了。还在用IE8以下的如果非要兼容,我们可以使用要UserData来作为存储,这里不做讲解,有兴趣的朋友可以去百度一下。


localStorage的使用

在首次使用localStorage的时候,我们一般需要去判断浏览器是否支持localStorage这个属性

if(window.localStorage){
    //支持localstorage
}else{
    console.log("浏览器不支持localstorage");
    return;
}


设置

localStorage.setItem('username','cfangxu');


获取

localStorage.getItem('username') 
//也可以获取键名 
localStorage.key(0) //获取第一个键名


删除

localStorage.remove('username') 
//也可以一次性清除所有存储 
localStorage.clear()


storage事件

当storage发生改变的时候触发。 
注意: 当前页面对storage的操作会触发其他页面的storage事件 
事件的回调函数中有一个参数event,是一个StorageEvent对象,提供了一些实用的属性,如下表:

PropertyTypeDescription
keyStringThe named key that was added, removed, or moddified
oldValueAnyThe previous value(now overwritten), or null if a new item was added
newValueAnyThe new value, or null if an item was added
url/uriStringThe page that called the method that triggered this change

Cookie防篡改机制_cookie怎么防止被篡改/伪造

因为Cookie是存储在客户端,用户可以随意修改。所以存在一定的安全隐患,服务器为每个Cookie项生成签名。如果用户篡改Cookie,则与签名无法对应上。以此,来判断数据是否被篡改。

indexedDB 数据库_html5中Web离线数据库的使用

HTML5的本地存储中有一种叫 indexedDB 的数据库,该数据库是一种存储在客户端本地的 NoSQL 数据库,它可以存储大量的数据。这篇文章讲解indexedDB 如何存储数据?

前端数据保存_使用js开发数据库

前端很多时候还是需要保存一些数据的,这里的保存指的是长久的保存。以前的思想是把数据保存在cookie中,或者将key保存在cookie中,将其他数据保存在服务器上。想要一种能够长久的保存在本地的数据,类似数据库或者类似web sql。

JS中原始值和引用值的储存方式

在ECMAscript中,变量可以存放两种类型的值,即原始值和引用值。原始变量及他们的值储存在栈中,当把一个原始变量传递给另一个原始变量时,是把一个栈房间的东西复制到另一个栈房间,且这两个原始变量互不影响。

关于网页本地存储的一些思考

localStorage 与 sessionStorage具体适用于什么样的业务场景?如何维护本地储存?如何进行版本控制?碰到禁止本地缓存的情况下怎么解决这个问题?

介绍web开发中实现会话跟踪的常用技术方法

由于http是无状态的协议,这种特性严重阻碍了客户端与服务器进行动态交互,为了弥补http的不足,目前实现会话跟踪的常用技术方法:cookie、session、url重写、隐藏input、ip地址。

Token ,Cookie和Session的区别

在做接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对token,cookie,session的区别还是一知半解

js关于cookie的操作总结:设置,读取,删除,判断是否存在等...

JavaScript对cookie的相关操作,设置cookie,读取cookie,删除cookie,判断cookie是否存在.......