js cookie的读写

cookie是字符串而且还是一个特定格式的文本字符串

格式:cookieName=cookieValue;expires=expiresDate;path=URLpath;domain=siteDomain//cookie名称,失效日期,储存URL,储存域值;

cookie的创建方式

设置cookie我们一般都封装成一个函数:

function addCookie(sName,sValue,day) {

var expireDate = new Date();

expireDate.setDate(expireDate.getDate()+day);;

//设置失效时间

document.cookie = escape(sName) + ‘=’ + escape(sValue) +’;expires=’ + expireDate.toGMTString();6 //escape()汉字转成unicode编码,toGMTString() 把日期对象转成字符串

} www.jbxue.com

读取cookie

添加了cookie之后,如何来获取它呢,很简单:

function getCookies() {

var showAllCookie = ”;

if(!document.cookie == ”){

var arrCookie = document.cookie.split(‘; ‘);

//用spilt(‘; ‘)切割所有cookie保存在数组arrCookie中

var arrLength = arrCookie.length;

showAllCookie += ‘c_name:’ + unescape(arrCookie[i].split(‘=’)[0]) + ‘c_value:’ + unescape(arrCookie[i].split(‘=’)[1]) + ‘
‘ 9 }

return showAllCookie;

cookie有有效期可自动删除,也可以通过设置其失效日期来立即删除

一样很简单,继续:

function removeCookie() {

if(document.cookie != ” && confirm(‘你想清理所有cookie吗?’)) {

var arrCookie = document.cookie.split(‘; ‘);

var arrLength = arrCookie.length;

var expireDate = new Date();

expireDate.setDate(expireDate.getDate()-1);

var str = arrCookie[i].split(‘=’)[0];

document.cookie = str+ ‘=’ + ‘;expires=’ + expireDate.toGMTString();

} www.jbxue.com

用cookie做一个简单的计时器:

var cookieCount = {};

cookieCount.count = function () {

var count = parseInt(this.getCount(‘myCount’));

count++;

document.cookie = ‘myCount=’ + count + ”;

alert(‘第’+count+’访问’);

cookieCount.setCount= function () {

//首先得创建一个名为myCount的cookie

var expireDate = new Date();

expireDate.setDate(expireDate.getDate()+1);

document.cookie = ‘myCount=’ + ‘0’ +’;expires=’ + expireDate.toGMTString();

cookieCount.getCount = function (countName) {

//获取名为计数cookie,为其加1

var arrCookie = document.cookie.split(‘; ‘);

var arrLength = arrCookie.length;

var ini = true;

if(countName == arrCookie[i].split(‘=’)[0]){

return parseInt(arrCookie[i].split(‘=’)[1]);

break;

}else{

ini = false;

if(ini == false)this.setCount();

return 0;

cookieCount.count();

cookie的路径

本文开头的时候提到cookie的路径设置 cookie的路径:path=URL;

如果在域名的子目录创建的cookie,域名及其他同级目录或上级目录是访问不到这个cookie的,而通过设置路径的好处就是可以上域名以及域名的子类目录都可以访问到,如下:

document.cookie=’cookieName=cookieValue;expires=expireDate;path=/’。

cookie域

设置域:domain=siteDomain

这个主要用在同域的情况下共享一个cookie,例如 “www.taobao.com” 与 “ued.taobao.com” 两者是共享一个域名”taobao.com”,我们如果想让 “www.taobao.com” 下的cookie被 “ued.taobao.com” 访问,那么就需要把path属性设置为 “/”,并且设置 cookie 的domain–>document.cookie=’cookieName=cookieValue;expires=expireDate;path=/;domain=taobao.com’。

随着web的不断发展项目中的需要,HTML5提供了两个属性window.sessionStorage和window.localStorage,并携带了setItem,getItem,removeItem,clear等方法,使得本地存储数据的方法操作更为简单便利。

Original: https://www.cnblogs.com/linuxnotes/p/3672378.html
Author: snowfly123
Title: js cookie的读写

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/18136/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • linux内存管理之malloc、vmalloc、kmalloc的区别

    kmalloc kzalloc vmalloc malloc 和get_free_page()的区别 一、简述 1、kmalloc 申请的是较小的连续的物理内存,虚拟地址上也是连续…

    Linux 2022年8月11日
    0100
  • 方法的深度理解

    权限修饰符 返回值类型 类名(行参列表 )throws 异常的类型{ //方法体 约定俗称:子类中叫重写的方法,父类中叫被重写的方法。 由①子类重写的方法名称和行参数列表与由父类重…

    Linux 2022年11月7日
    062
  • ubuntu 16.04 有道词典

    依赖环境 sudo apt install \ python3-pyqt5 \ python3-requests \ python3-xlib \ python3-pil \ te…

    Linux 2022年8月26日
    0121
  • Redis分布式锁的使用与实现原理

    模拟一个电商里面下单减库存的场景。1.首先在redis里加入商品库存数量。 2.新建一个Spring Boot项目,在pom里面引入相关的依赖。 <dependency&gt…

    Linux 2022年9月14日
    0232
  • JuiceFS 缓存预热详解

    缓存预热是一个比较常见的概念,相信很多小伙伴都有所了解。对于 JuiceFS 来说,缓存预热就是将需要操作的数据预先从对象存储拉取到本地,从而获得与使用本地存储类似的性能表现。 缓…

    Linux 2022年11月8日
    088
  • imagemagick 之 Fred’s ImageMagick Scripts 在Ubuntu 下的实践

    Fred’s ImageMagick Scripts 官网:http://www.fmwconcepts.com/imagemagick/index.php Windo…

    2022年8月26日
    0144
  • Linux休眠与唤醒—wakelock唤醒锁与autosleep功能使用

    一、Linux系统休眠在嵌入式设备中由于省电功耗等原因我们需要让系统在不忙的时候进入休眠模式,Linux pm core提供给我们wakelock及autoslepp内核休眠机制。…

    Linux 2022年8月26日
    0165
  • 调度器简介,以及Linux的调度策略

    进程是操作系统虚拟出来的概念,用来组织计算机中的任务。但随着进程被赋予越来越多的任务,进程好像有了真实的生命,它从诞生就随着CPU时间执行,直到最终消失。不过,进程的生命都得到了操…

    Linux 2022年8月24日
    0174
  • fork创建进程的步骤___Spring-boot-Starter启动器和其加载的过程___redis怎么监视正在执行的命令

    fork创建进程的步骤 我们都知道,在Linux中调用fork()函数,会创建一个子进程,那么在创建这个子进程的过程中,发生了些什么事情? 首先,我们要知道,fork()函数其实是…

    Linux 2022年9月14日
    082
  • jenkins使用shell脚本执行nohup java -jar包失败

    一、问题 通过jenkins执行shell脚本时,脚本中是通过nohup java -jar &的方式启动,显示执行成功,但是服务却没启动,脚本如下: #! /bin/ba…

    Linux 2022年9月14日
    0151
  • git 配置多用户和邮箱

    Git的用户信息配置Git的配置一共有三个级别:system(系统级)、global(用户级)和local(版本库)。system的配置整个系统只有一个,global的配置每个账户…

    Linux 2022年8月30日
    0279
  • Linux网络命令必知必会之瑞士军刀 nc(netcat)

    本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复 「1024」即可领取,欢迎大家关注,二维码文末可…

    Linux 2022年8月26日
    0150
  • Kubernetes1.2如何使用iptables

    转:http://blog.csdn.net/horsefoot/article/details/51249161 本次分析的kubernetes版本号:v1.2.1-beta.0…

    Linux 2022年8月26日
    0113
  • CTFHub_2017-赛客夏令营-Web-weakphp(git泄露、MD5绕过)

    进入场景,显示如下 查看writeup,发现本题是.git源码泄露(很多题目这个git目录都是禁止访问,我也不知道大佬怎么知道是.git源码泄露的) 要获取泄露的源码,可以使用 G…

    Linux 2022年8月30日
    0161
  • git命令之git clone用法

    在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL). Git能在许多协议下使用,所以Git URL 可能以ssh://…

    Linux 2022年8月30日
    0166
  • docker的基本使用

    一、 实验前置知识 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是…

    Linux 2022年11月7日
    077
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总