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 相关文章推荐
jquery属性过滤选择器使用示例
Jun 18 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
Jun 06 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
Jun 15 Javascript
javascript设计模式之单体模式学习笔记
Feb 15 Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
Aug 16 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
vue 2.0 购物车小球抛物线的示例代码
Feb 01 Javascript
浅谈Vue Element中Select下拉框选取值的问题
Mar 01 Javascript
解决vue路由后界面没有变化,但是链接有的问题
Sep 01 Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 Javascript
vue实现分页的三种效果
Jun 23 Javascript
js实现表格单列按字母排序
Aug 12 Javascript
深入理解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
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
php cookie用户登录的详解及实例代码
2017/01/03 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
js计算任意值之间随机数的方法
2015/01/16 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
小程序实现密码输入框
2020/11/16 Javascript
python关闭windows进程的方法
2015/04/18 Python
python基础教程之五种数据类型详解
2017/01/12 Python
使用python实现BLAST
2018/02/12 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
利用Python将每日一句定时推送至微信的实现方法
2018/08/13 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python numpy线性代数用法实例解析
2019/11/15 Python
Python实现子类调用父类的初始化实例
2020/03/12 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
矫正人员思想汇报
2014/01/08 职场文书
公司年会抽奖活动主持词
2014/03/31 职场文书