html5 操作cookie,HTML5 关于一些本地操作 cookie,sessionStorage,localStorage

本文详细介绍了JavaScript如何操作Cookie、sessionStorage和localStorage,包括写入、读取和删除方法。同时阐述了它们的区别,如Cookie适用于跨页面跟踪,sessionStorage在页面关闭后失效,而localStorage则长期存储。此外,还讨论了它们在不同应用场景下的选择,如临时存储和持久化数据的需求。
摘要由CSDN通过智能技术生成

1,b/s 开发中经常会使用到 cookie,大部分情况下,都是由后端代码实现,那么 js 怎么实现对 cookie 的操作呢?

cookie

input {

width: 200px;

height: 30px;

text-align: center;

line-height: 30px;

font-size: 14px;

border: none;

}

// 封装操作 cookie 的方法,主要依赖于 document.cookie,比较简单

var cookie = function (name, value, options) {

if (typeof value != "undefined") {

options = options || {};

if (value === null) {

value = "";

options.expires = -1

}

var expires = "";

if (options.expires && (typeof options.expires == "number" || options.expires.toUTCString)) {

var date;

if (typeof options.expires == "number") {

date = new Date();

date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000))

} else {

date = options.expires

}

expires = "; expires=" + date.toUTCString()

}

var path = options.path ? "; path=" + (options.path) : "";

var domain = options.domain ? "; domain=" + (options.domain) : "";

var secure = options.secure ? "; secure" : "";

document.cookie = [name, "=", encodeURIComponent(value), expires, path, domain, secure].join("")

} else {

var cookieValue = null;

if (document.cookie && document.cookie != "") {

var cookies = document.cookie.split(";");

for (var i = 0; i < cookies.length; i++) {

var cookie = cookies[i].trim();

if (cookie.substring(0, name.length + 1) == (name + "=")) {

cookieValue = decodeURIComponent(cookie.substring(name.length + 1));

break

}

}

}

return cookieValue;

}

};

// 写入或者修改

document.getElementById('writer').onclick = function(){

cookie('text', document.getElementById('old-text').value);

}

// 读取

document.getElementById('reader').onclick = function(){

document.getElementById('new-text').value = cookie('text');

}

// 删除

document.getElementById('delete').onclick = function(){

cookie('text', null);

}

/* 其他配置参数

cookie("Key", "Value", {

expires: 7, // 有效期, 单位天, 默认 -1,页面关闭失效

path: "/", // cookie 存放的路径, 默认为当前页面路径, 跨页面读取可设置为根目录, 或者显示设置 path

domain: // Cookie的域名属性,默认是创建该cookie的页面域名,一般不设置

secure: true // cookie的传输是否要求一个安全协议,例如HTTPS, 默认为 fasle

});

*/

2,H5 新增加的两个 api:sessionStorage,localStorage 他们都遵循 key value 的形式,并且 key value 都只能为字符串

3,分别都有两个方法如 sessionStorage.setItem(key, value) 和 sessionStorage.getItem(key)  使用方法也是相当简单

4,不同的是 sessionStorage 的值在页面关闭后马上失效,localStorage 只要不清理便永远存在

5,localStorage 有储存上限,不同的浏览器各不相同,大约为 2M 左右

session&comma;cookie&comma;sessionStorage&comma;localStorage的区别及应用场景

session,cookie,sessionStorage,localStorage的区别及应用场景 浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟 ...

缓存session&comma;cookie&comma;sessionStorage&comma;localStorage的区别

https://www.cnblogs.com/cencenyue/p/7604651.html(copy) 浅谈session,cookie,sessionStorage,localStorage的 ...

jquery访问浏览器本地存储cookie,localStorage和sessionStorage

前言:cookie,localStorage和sessionStorage都是浏览器本地存储数据的地方,其用法不尽相同:总结一下基本的用法. 一.cookie 定义: 存储在本地,容量最大4k,在同源 ...

本地存储 cookie&comma;session&comma;localstorage&lpar; 一&rpar;基本概念及原生API

http://www.w3school.com.cn/html5/html_5_webstorage.asp http://adamed.iteye.com/blog/1698740 localSto ...

session&comma;cookie&comma;sessionStorage&comma;localStorage的相关设置以及获取删除

一.cookie 什么是 Cookie? "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScrip ...

本地存储(cookie&amp&semi;sessionStorage&amp&semi;localStorage)

好文章,最全面.就查它吧:https://segmentfault.com/a/1190000004556040 1.DOM存储:https://developer.mozilla.org/zh-CN ...

浅谈session&comma;cookie&comma;sessionStorage&comma;localStorage的区别及应用场景

浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互. 一.cookie和session cookie和session都是用来跟踪浏览器 ...

session&comma;cookie&comma;sessionStorage&comma;localStorage的区别

浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互. 一.cookie和session cookie和session都是用来跟踪浏览器 ...

&lbrack;转&rsqb; 浅谈session&comma;cookie&comma;sessionStorage&comma;localStorage的区别及应用场景

浏览器的缓存机制提供了可以将用户数据存储在客户端上的方式,可以利用cookie,session等跟服务端进行数据交互. 一.cookie和session cookie和session都是用来跟踪浏览器 ...

随机推荐

CentOS7 搭建python3 Django环境

yum install gcc yum install make yum install openssl-devel -y yum install sqlite-devel -y wget https ...

&lbrack;MongoDB&rsqb;增删改查

摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...

修改linux端口范围 ip&lowbar;local&lowbar;port&lowbar;range

tags: ip_local_port_range 端口范围 sysctl Linux中有限定端口的使用范围,如果我要为我的程序预留某些端口,那么我需要控制这个端口范围, 本文主要描述如何去修改端口范 ...

composer的安装

HomeGetting StartedDownloadDocumentationBrowse Packages Dependency management Declaring dependencies ...

linux启动报错:kernel panic - not attempted to kill init

系统类型:CentOS 6.4(x64) 启动提示:Kernel panic - not syncing: Attempted to kill init 解决办法: 系统启动的时候,按下‘e’键进入g ...

分布式发布订阅消息系统 Kafka 架构设计&lbrack;转&rsqb;

分布式发布订阅消息系统 Kafka 架构设计 转自:http://www.oschina.net/translate/kafka-design 我们为什么要搭建该系统 Kafka是一个消息系统,原本开 ...

Java Swing 使用总结(转载)

随笔转载自:此去经年ぢ 地址:http://www.cnblogs.com/FLFL/p/5369756.html 1.     GUI编程引言 以前的学习当中,我们都使用的是命令交互方式: 例如:在 ...

Elastic Stack

Elastic Stack 开发人员不能登陆线上服务器查看详细日志 各个系统都有日志,日志数据分散难以查找 日志数据量大,查询速度慢,或者数据不够实时 官网地址:https://www.elastic ...

转载 &lbrack;c&num;&rsqb; 虚函数(Virtual),抽象函数(abstract)和接口的区别

1.virtual:允许被重写,但不强制要求.声明时提供其自身实现: 2.abstract:强制要求其继承者重写.声明时不提供其自身的实现,抽象类不能被实例化: 3.interface:接口就是协议, ...

rocketmq总结&lpar;消息的高可用、中间件选型&rpar;

rocketmq总结(消息的高可用.中间件选型) 参考: https://blog.csdn.net/meilong_whpu/article/details/76922456 http://blog ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值