基于js 本地存储(详解)


Posted in Javascript onAugust 16, 2017

在客户端运行的JS是不能操作用户电脑磁盘中的文件的(保护客户端运行的安全)

1、JS中的本地存储:

使用JS向浏览器的某一个位置中存储一些内容,浏览器即使关闭了,存储的信息也不会销毁,当在重新打开浏览器的时候我们依然可以获取到上一次存储的信息

本地存储的方案:

传统:

cookie:把信息存储到客户端的浏览器中(但是项目服务器端也是可以获取COOKIE的)

session:把信息存储到服务器上的(服务器存储)

HTML5:webStorage

localStorage:永久存储在客户端的本地

sessionStorage:信息的会话存储,会话窗口存在信息也存在,会话窗口关闭信息就消失了

2、COOKIE  localStorage sessionStorage

->webStorage

setItem([key],[value]):像客户端的本地存储一条记录,存储的[value]需要是字符串格式的,如果编写的不是字符串,浏览器会默认的转化为字符串然后在进行存储;同源下存储的[key]是不会重复的,如果之前有的话,是把存储的信息值进行修改。如果存储的value是一个对象,需要先使用JSON.stringify()进行转化。

getItem([key]):获取之前存储的值

removeItem([key]):移除KEY对应的存储记录

clear():把当前源下的所有的存储记录都移除掉

localStorage.length:获取存储的记录条数

localStorage.key(0):获取索引为0这一项的KEY是什么

localStorage.setItem('age',7);

localStorage.getItem('age');

localStorage.removeItem('age');

localStorage.clear();

 

localStorage和sessionStorage的区别

localStorage属于永久存储在本地,不管是刷新页面还是关掉页面或者关闭浏览器,存储的内容都不会消失,只有我们自己手动的去删除才会消失(不管是杀毒软件还是浏览器自带的清除历史记录功能都不能把localStorage存储的内容清除掉)

sessionStorage属于临时的会话存储,只要当前的页面不关闭,信息就可以存储下来,但是页面一旦关闭,存储的信息就会自动清除(F5刷新页面只是把当前的DOM结构等进行重新的渲染,会话并没有关闭)

cookie

document.cookie = 'age = 7'

cookie和localStorage的区别

1)、cookie

cookie存储内容的大小是有限制的,一般同源下只能存储4kb的内容;localStorage存储的内容也有大小限制,一般同源下只能存储5MB

cookie存储的内容是有过期时间的,而localStorage是永久存储到本地,使用杀毒软件或者浏览器自带的清除垃圾的功能都可能会把存储的cookie给删除掉

用户可能处于安全的角度禁用cookie(无痕浏览器),但是不能禁止localStorage

真是项目中的本地存储都使用哪些东西?

记住用户名密码或者自动登录;用户的部分信息,当用户登录成功后我们会把用户的一些信息记录到本地的cookie中,这样在项目中的任何页面都可以知道当前登录的用户是哪一个了;购物车...(存储少量信息或者是需要浏览器兼容的都需要使用cookie来进行存储)

2)、localStorage

在PC端我们可以用其存储 某一个JS或者CSS中的源代码;还可以把一些不需要经常更新的数据存储到本地,存储的时候可以设置一个存储的时间,以后重新刷新页面,看一下时间有没有超过预定的时间,如果已经过时了,我们从新获取最新数据,没超过我们使用本地数据。

本地存储都是明文存储

对于重要的信息我们一般不要存储到本地,如果非要存储的话我们需要把存储的信息进行加密

可逆转加密:加密完成还可以解密回来

不可逆转加密:MD5 

以上这篇基于js 本地存储(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
Firefox下提示illegal character并出现乱码的原因
Mar 25 Javascript
iframe 父窗口和子窗口相互的调用方法集锦
Dec 15 Javascript
jQuery基础框架浅入剖析
Dec 27 Javascript
jquery.qrcode在线生成二维码使用示例
Aug 21 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
jQuery中Dom的基本操作小结
Jan 23 Javascript
jQuery实现用户输入自动完成功能
Feb 13 Javascript
解决js ajax同步请求造成浏览器假死的问题
Jan 18 Javascript
微信小程序实现下拉菜单切换效果
Mar 30 Javascript
详解vue组件中使用路由方法
Feb 12 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 Javascript
基于Vue实例生命周期(全面解析)
Aug 16 #Javascript
基于JQuery的Ajax方法使用详解
Aug 16 #jQuery
angular或者js怎么确定选中ul中的哪几个li
Aug 16 #Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 #Javascript
label+input实现按钮开关切换效果的实例
Aug 16 #Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 #Javascript
vue实现点击图片放大效果
Aug 15 #Javascript
You might like
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码)
2013/11/13 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
jQuery实现列表自动滚动循环滚动展示新闻
2014/08/22 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
2016/09/05 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
Openlayers实现测量功能
2020/09/25 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
基于numpy中的expand_dims函数用法
2019/12/18 Python
Python 解析xml文件的示例
2020/09/29 Python
python 录制系统声音的示例
2020/12/21 Python
Helly Hansen工作服美国官方网上商店:为最恶劣的环境
2019/09/04 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
中学生自我鉴定
2014/02/04 职场文书
普通简短的个人自我评价
2014/02/15 职场文书
学校联谊活动方案
2014/02/15 职场文书
班级德育工作实施方案
2014/02/21 职场文书
一句话工作感言
2014/03/01 职场文书
六一儿童节主持词
2014/03/21 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
迎国庆主题班会
2015/08/17 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
导游词之唐山景点
2019/12/18 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS