js的cookies及html5的localStorage、sessionStorage
1、首先,理解什么是cookies?
cookies:存储在客户端,数据量小的,会过期的数据,以字符串形式存储
cookie操作代码示例:
<script>
window.onload = function() {
function setCookie(name, value, time) {
var oDate = new Date();
oDate.setDate(oDate.getDate() + time);
document.cookie = `${name}=${value};path=/;expires=${oDate}`;
}
function getCookie(name) {
var str = document.cookie;
var arr = str.split(';');
for (let i = 0; i < arr.length; i++) {
var arr2 = arr[i].split('=');
if (arr2[0] == name) {
return arr2[1];
}
}
return '';
}
// function removeCookie(name) {
// setCookie(name, '', -1);
// }
setCookie('username', 'zxq', 2);
setCookie('SameSite', 'Lax', 2);
removeCookie('SameSite', '', -1);
console.log(getCookie('username')) //'zxq'
}
</script>
2、localStorage及sessionStorage
session:以键值对形式存储在服务端的数据
localStorage及sessionStorage:以键值对形式存储在客户端的数据
操作示例:
<script>
window.onload = function() {
sessionStorage.setItem('use', 'zxq');
console.log(sessionStorage.getItem('use')); //'zxq'
// sessionStorage.removeItem('use');
// //sessionStorage.clear();//全部清除
localStorage.setItem('username', 'zxq');
console.log(localStorage.getItem('username')); //'zxq'
// localStorage.removeItem('username');
// localStorage.clear();
}
</script>
3、cookie和localStorage及sessionStorage的区别
- cookie会过期,数据小,每次url请求会携带cookies信息,同源窗口访问
- localStorage数据比cookies大,客户端持久化存储,url请求不携带,同源窗口访问
- sessionStorage与localStorage相似,但是有效时间为一个会话期间,只能由当前浏览器的窗口共享数据
4、实战,用sessionStorage模拟一个首页验证登陆的功能
部分代码:
if(this.loginForm.username != sessionStorage.getItem('username')){
alert('用户名填写错误!')
}else if(this.loginForm.password != sessionStorage.getItem('password')){
alert('用户密码填写错误!')
}else{
this.$router.push({path:'/',query:{username:this.loginForm.username}})
}
github地址:[https://github.com/Zxq-zn/vuemanager/tree/master/src/components/login]
js的cookies及html5的localStorage、sessionStorage的更多相关文章
- web 存储方式汇总:Cookies,Session, Web SQL; Web Storage(LocalStorage ,SessionStorage),IndexedDB,Application Cache,Cache Storage
1 1 1 web 存储方式汇总: 旧的方式: Cookies; Session; Web SQL; 新的方式 HTML5 : Web Storage(LocalStorage ,SessionSto ...
- HTML5 的web储存: localStorage & sessionStorage
早期的浏览器使用cookie储存,HTML5新增web储存,包括:localStorage 和 sessiongStorage; localStorage:可以永久储存: sessionStorage ...
- HTML5的localStorage和sessionStorage
HTMl5提供了sessionStorage和localStorage数据存储方法,用于临时或者永久的存储客户端的数据: sessionStorage:用于保存回话数据 localStorage:用于 ...
- js中cookie,localStorage(sessionStorage)的存取
一.cookie (原生的不好用,自己简单封装) 1. 存cookie的方法: function setCookie(c_name,value,expiredays) { var exdate=new ...
- 前端 JS,localStorage/sessionStorage、cookie 及 url 等实现前台数据共享、传输
需求是这样的:需要统计用户公司某款产品用户的回馈情况,美工给的设计多个psd,每个页面里面都有一个选择题,让用户选择自己的答案,最后经过几次选择之后在最后一个页面统一提交到后台!所以这里引出的技术需求 ...
- localStorage sessionStorage cookie indexedDB
目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...
- Cookie localStorage sessionStorage
三者的异同 特性 Cookie localStorage sessionStorage 数据的生命期 可设置失效时间,默认是关闭浏览器后失效 除非被清除,否则永久保存 仅在当前会话下(tab标签页)有 ...
- Where to Store your JWTs – Cookies vs HTML5 Web Storage--转
原文地址:https://stormpath.com/blog/where-to-store-your-jwts-cookies-vs-html5-web-storage Update 5/12/20 ...
- iOS开发和localStorage/sessionStorage
一.前言 在近期的工作中,有前端同学告诉我要清除localStorage,我当时对localStorage完全没有概念,所以就在w3c看了一下相关的内容,下面简单的介绍一下.算是对iOS开发者普及H5 ...
随机推荐
- 以Python为例的Async / Await的编程基础
来源:Redislabs 作者:Loris Cro 翻译:Kevin (公众号:中间件小哥) 近年来,许多编程语言都在努力改进它们的并发原语.Go 语言有 goroutines,Ruby 有 fibe ...
- node.js多进程架构
node.js是单进程应用,要充分利用多核cpu的性能,就需要用到多进程架构. 作为web服务器,不能多个进程创建不同的socket文件描述符去accept网络请求, 有经验的同学知道,如果端口被占用 ...
- 如何将本地项目推送到码云仓库或者GitHub仓库
将本地项目推送到码云仓库. 前提: git 和码云 1.在码云上先创建一个仓库. 2.在要被上传的项目的目录右键, 选择 Git Bash Here. 3.在窗口输入命令: git init 这时 ...
- 即将到来的“分布式云”(DPaaS):分布式计算+ DB +存储即服务
我在区块链会议上就即将到来的公共"分布式云"系统进行了讨论,该系统将主流的公共云平台(如AWS,Azure,Google Cloud,Heroku等)与区块链和P2P网络相结合,比 ...
- 时至今日,我们应该承认.Net目前的状况实在堪忧
一: .Net之前 .Net 经历了多年的锤炼,语言特性本身非常优雅和完善,也是非常甜品的一种语言 二: .Net现状 但是与此同时,.Net的生态日益糟糕,困扰着广大.Neter 三: .N ...
- MyBatis框架的基本配置
MyBatis的基本配置文件: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE config ...
- openlayers6结合geoserver实现地图空间查询(附源码下载)
前言 之前写过一篇 openlayers4 版本的地图空间查询文章,但是由于是封装一层 js 代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图空间查询文章,直接基于最新版本 open ...
- 2018 牛客国庆集训派对Day4 - H 树链博弈
链接:https://ac.nowcoder.com/acm/contest/204/H来源:牛客网 题目描述 给定一棵 n 个点的树,其中 1 号结点是根,每个结点要么是黑色要么是白色 现在小 Bo ...
- linux 安装jmeter
一 下载jdk sudo apt install oracle-java8-installer 二 网站下载 jmeter 三 对jmeter文件夹 赋权 我都是777 chmod -R 777 ap ...
- iOS开发 为何 大不如前?原因竟然是这个?
前言: 近期,社会上对iOS开发行业的负面信息越来越多,并且还被一些黑骗机构的胡诌八扯越描越黑,现在iOS开发按照开发者与公司招聘的数量上来看,是显示的供大于求,但是从各公司的招人计划上来看,明显是供 ...