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 相关文章推荐
使用prototype.js进行异步操作
Feb 07 Javascript
Prototype源码浅析 Number部分
Jan 16 Javascript
js写一个字符串转成驼峰的实例
Jun 21 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
Sep 22 Javascript
jQuery代码实现发展历程时间轴特效
Jul 30 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
Dec 15 Javascript
深入分析node.js的异步API和其局限性
Sep 05 Javascript
Javascript动画效果(3)
Oct 11 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
Nov 17 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
Sep 28 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
jQuery实现倒计时功能完整示例
Jun 01 jQuery
深入理解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+phpStorm+xdebug配置方法
2015/09/17 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
js实现消息滚动效果
2017/01/18 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
通过js给网页加上水印背景实例
2019/06/17 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
[01:56]2014DOTA2西雅图邀请赛 MVP外卡赛老队长精辟点评
2014/07/09 DOTA
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
详解Python中的文件操作
2016/08/28 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
2018/05/08 Python
python十进制和二进制的转换方法(含浮点数)
2018/07/07 Python
Atom的python插件和常用插件说明
2018/07/08 Python
python感知机实现代码
2019/01/18 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
2019/08/09 Python
详解Python3 pandas.merge用法
2019/09/05 Python
python 下划线的不同用法
2020/10/24 Python
上课说话检讨书大全
2014/01/22 职场文书
大学生职业生涯规划书
2014/03/14 职场文书
求职意向书
2014/04/01 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
SpringBoot整合JWT的入门指南
2021/06/29 Java/Android
python热力图实现的完整实例
2022/06/25 Python