JavaScript cookie详解及简单实例应用


Posted in Javascript onDecember 31, 2016

JavaScript cookie详解

一、cookie基本介绍

    cookie是document的对象。cookie可以使得JavaScript代码能够在用户的硬盘上持久地存储数据,并且能够获得以这种方式存储的数据。cookie还可以用于客户端脚本化。

cookie数据可以自动地在Web浏览器好Web服务器之间传递。

    在浏览器中可以通过navigator.cookieEnabled属性检查浏览器的cookie功能是否被激活。

    二、cookie的基本属性    

    每个cookie都有四个可选的属性

    1.expires

        指定了cookie的生存期。将expires属性设定为未来的一个过期时间,即可让cookie在过期后失效。

    现在用max-age属性来代替它,max-age用秒来设置cookie的生命期。一旦超过了max-age的生命期,那个cookie就会被浏览器自动地从cookie文件中删除掉

    2.path

        指定了与cookie关联在一起的网页。默认情况下,cookie会和创建它的网页以及与这个网页处于同一个目录下的网页和处于该目录的子目录下的网页关联。

    这个主要设置了cookie对于网页的可见性。加入将path设置为www.a.com/list,那么www.a.com/list/a.html和www.a.com/list/b.html都可以访问cookie,但www.a.com/comtain不  能访问该cookie。但是如果将path设置为www.a.com/,那么www.a.com/list和www.a.com/contain都可以访问cookie。

    3.domain

        默认只有来自同一Web服务器的页面才能访问cookie,可以设置domain。例如把cookie的path设定为/,cookie设定为.example.com,则所有位于catalog.example.com和    orders.example.com的网页以及位于.example.com域名下其他服务器的网页都能访问这个cookie

    注意:不能讲一个cookie的域设置为服务器所在的域之外的域

    4.source

       source为一个布尔值,true由不安全的HTTP传输(默认);false只在浏览器和服务器通过HTTPS或其他的安全协议连接下才被传输。 

    三、cookie的应用

        一个cookie是一个字符串,有name=value这种结构组合而成。cookie的例子:

    version=1.0;max-age=3600      

    注意每段字符串之间不能包含逗号或者空格等,因此在写入cookie时需要使用encodeURIComponent去掉变量中的相关符号,读取时利用的decodeURIComponent 

    要创建一个能够持续存在一年的cookie:

document.cookie = “version=” + document.lastModified + “;max-age=” + (60*60*24*365);

    四、总结

    虽然现在浏览器的存储技术越来越多,HTML5也为localStorage带来了更高的性能体验,但是cookie仍然可以为我们处理很多事务,方便小型数据的交流。合理的使用cookie,可以让我们的应用程序更加灵活。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
用js实现手把手教你月入万刀(转贴)
Nov 07 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
Jan 22 Javascript
jquery 定位input元素的几种方法小结
Jul 28 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
js实现无缝滚动特效
Dec 20 Javascript
js中获取 table节点各tr及td的内容简单实例
Oct 14 Javascript
详解jQuery中基本的动画方法
Dec 14 Javascript
jQuery.cookie.js使用方法及相关参数解释
Mar 06 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
Apr 11 Javascript
慕课网题目之js实现抽奖系统功能
Sep 19 Javascript
Vue props 单向数据流的实现
Nov 06 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
深入理解Angularjs向指令传递数据双向绑定机制
Dec 31 #Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
Dec 31 #Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
Dec 31 #Javascript
angularjs中ng-attr的用法详解
Dec 31 #Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
Dec 31 #Javascript
Angular JS数据的双向绑定详解及实例
Dec 31 #Javascript
Javascript 实现全屏滚动实例代码
Dec 31 #Javascript
You might like
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
Windows7下的php环境配置教程
2015/02/28 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
刷新时清空文本框内容的js代码
2007/04/23 Javascript
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
js倒计时小实例(多次定时)
2016/12/08 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
javascript history对象详解
2017/02/09 Javascript
JS 使用 window对象的print方法实现分页打印功能
2018/05/16 Javascript
小程序实现列表删除功能
2018/10/30 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
Python实现网站注册验证码生成类
2017/06/08 Python
Pandas将列表(List)转换为数据框(Dataframe)
2020/04/24 Python
pytorch中index_select()的用法详解
2021/01/06 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
大学四年个人自我小结
2014/03/05 职场文书
给老师的一封建议书
2014/03/13 职场文书
防灾减灾活动总结
2014/08/30 职场文书
优秀班集体申报材料
2014/12/25 职场文书
给医院的感谢信
2015/01/21 职场文书
投资申请报告
2015/05/19 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android