基于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的淡入淡出的特效基础练习
Dec 13 Javascript
一个关于jqGrid使用的小例子(行按钮)
Nov 04 Javascript
javascript实现禁止右键和F12查看源代码
Dec 26 Javascript
javascript实现控制浏览器全屏
Mar 30 Javascript
js文本框输入内容智能提示效果
Dec 02 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
Jul 02 Javascript
JavaScript实现图片切换效果
Aug 12 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
Jan 24 Javascript
微信小程序 搜索框组件代码实例
Sep 06 Javascript
layui table 获取分页 limit的方法
Sep 20 Javascript
React服务端渲染原理解析与实践
Mar 04 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
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP+APACHE实现网址伪静态
2015/02/22 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
php实现头像上传预览功能
2017/04/27 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
javascript CSS画图之基础篇
2009/07/29 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
vue+element-ui集成随机验证码+用户名+密码的form表单验证功能
2018/08/05 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
Python自动调用IE打开某个网站的方法
2015/06/03 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
python dataframe astype 字段类型转换方法
2018/04/11 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Tensorflow 实现修改张量特定元素的值方法
2018/07/30 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
教师自荐信
2013/12/10 职场文书
社区义诊活动总结
2014/04/30 职场文书
政府信息公开实施方案
2014/05/09 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
升学宴答谢词
2015/01/05 职场文书
执行力心得体会范文
2016/01/11 职场文书
详解Mysql数据库平滑扩容解决高并发和大数据量问题
2022/05/25 MySQL