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 相关文章推荐
<script defer> defer 是什么意思
May 10 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
Jan 15 Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
May 16 Javascript
jquery仅用6行代码实现滑动门效果
Sep 07 Javascript
详解JavaScript中Hash Map映射结构的实现
May 21 Javascript
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
Angularjs实现下拉框联动的示例代码
Aug 22 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
详解Vue调用手机相机和相册以及上传
May 05 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
微信小程序获取用户绑定手机号方法示例
Jul 21 Javascript
vue跳转方式(打开新页面)及传参操作示例
Jan 26 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 CURL获取返回值的方法
2014/05/04 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
php修改数组键名的方法示例
2017/04/15 PHP
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
2018/06/06 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
Python 类方法和实例方法(@classmethod),静态方法(@staticmethod)原理与用法分析
2019/09/20 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
django实现模型字段动态choice的操作
2020/04/01 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
小橄榄树:Le Petit Olivier
2018/04/23 全球购物
毕业自荐信
2013/12/16 职场文书
会计顶岗实习心得
2014/01/25 职场文书
医院总经理岗位职责
2014/02/04 职场文书
计算机专业毕业生求职信
2014/04/30 职场文书
群众路线问题查摆对照检查材料
2014/10/04 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书
检讨书怎么写
2015/05/07 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
基于Redis延迟队列的实现代码
2021/05/13 Redis