基于Cookie常用操作以及属性介绍


Posted in Javascript onSeptember 07, 2017

概述

最近项目要用到cookie存储部分用户信息;研究了一下做一下分享

Cookie 是服务器保存在浏览器的一小段文本信息,每个 Cookie 的大小一般不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。

设置cookie存储

document.cookie = 'userName=fengkaicahng';

注意 设置cookie一次只能存储一条

cookie可以多次设置 key相同不会重新赋值而是会新建一条cookie

读取cookie

var allCookies = document.cookie;

//一次读取所有cookie 字符串形式
//所以一般我们还要做一次转换

var cookiesArray = document.cookie.split(';');

 console.log(cookiesArray);

cookie的几个属性

value (必须)一个键值对,用来指定cookie的值

document.cookie = 'userName=fengkaicahng';

expires 指定Cookie过期时间;格式采用Date.toUTCString()

var day = new Date();
 day.setTime(day.getTime()+(1*24*60*60*1000));

//设置一天的有效期
//如果不设置; 默认时间是当前会话窗口关闭即失效

document.cookie = 'userName=fengkaicahng;expires="+day+"';

domain 指定发送Cookie的域名

var day = new Date();
 day.setTime(day.getTime()+(1*24*60*60*1000));

//只有在该域名下才发送cookie,
//如果不设置; 默认是设置cookie时的域名
//以下配置会在fengkaichang.com 的所有子域名下生效

document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;

path 指定Cookie的路径

var day = new Date();
 day.setTime(day.getTime()+(1*24*60*60*1000));

//只有这个路径和发送到服务器的路径相同才发送cookie 可以直接配置/ 从根目录下匹配 这个匹配并不是绝对的,
//如果不设置; 默认是请求该cookie时的路径
//以下配置会在fengkaichang.com 的所有请求路径下生效
//注意 path生效的前提是domain匹配成功,否则都是扯淡


document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/'

secure 指定Cookie只能在加密协议HTTPS下发送到服务器

var day = new Date();
 day.setTime(day.getTime()+(1*24*60*60*1000));

//这个属性的值是一个布尔值
//如果这个通信协议是HTTPS那么协议自动打开
//如果手动设置 一下配置不会在普通HTTP协议下发送

document.cookie = 'userName=fengkaicahng;expires='+day+';domain=fengkaichang.com;path=/;secure=true'

以上这篇基于Cookie常用操作以及属性介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery滚动加载图片效果的实现
Mar 06 Javascript
jquery中通过父级查找进行定位示例
Jun 28 Javascript
jquery xMarquee实现文字水平无缝滚动效果
Apr 29 Javascript
详解JavaScript中void语句的使用
Jun 04 Javascript
Vue.js常用指令汇总(v-if、v-for等)
Nov 03 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
May 19 Javascript
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
Vue中控制v-for循环次数的实现方法
Sep 26 Javascript
微信小程序中使用Async-await方法异步请求变为同步请求方法
Mar 28 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
Sep 17 Javascript
vue 组件开发原理与实现方法详解
Nov 29 Javascript
基于require.js的使用(实例讲解)
Sep 07 #Javascript
基于vue.js路由参数的实例讲解——简单易懂
Sep 07 #Javascript
JQuery 获取多个select标签option的text内容(实例)
Sep 07 #jQuery
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 #jQuery
jQueryUI Sortable 应用Demo(分享)
Sep 07 #jQuery
Django使用多数据库的方法
Sep 06 #Javascript
node.js实现微信JS-API封装接口的示例代码
Sep 06 #Javascript
You might like
不用iconv库的gb2312与utf-8的互换函数
2006/10/09 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
php观察者模式应用场景实例详解
2017/02/03 PHP
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
window.open()实现post传递参数
2015/03/12 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
简单实现js倒计时功能
2017/02/13 Javascript
jQuery模拟窗口抖动效果
2017/03/15 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
python九九乘法表的实例
2017/09/26 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
python中setuptools的作用是什么
2020/06/19 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
The North Face意大利官网:服装、背包和鞋子
2020/06/17 全球购物
行政总监岗位职责
2013/12/05 职场文书
师德个人剖析材料
2014/02/02 职场文书
接待员岗位责任制
2014/02/10 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
优秀班主任材料
2014/12/16 职场文书
选择比努力更重要?这是长期以来对“努力”的最大误解
2019/07/12 职场文书
Nginx 根据URL带的参数转发的实现
2021/04/01 Servers