cookie操作

function setCookie(c_name,value,expiredays)
{
var exdate=new Date()
exdate.setDate(exdate.getDate()+expiredays)
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString()+";path=/")
}
复制代码
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}
复制代码
//删除cookies 设置过期
function delCookie(name) 
{ 
    var exp = new Date(); 
    exp.setTime(exp.getTime() - 1); 
    var cval=getCookie(name); 
    if(cval!=null) 
        document.cookie= name + "="+cval+";expires="+exp.toGMTString(); 
} 
复制代码

cookie的一些参数

  1. expires: 365 定义cookie的有效时间,值可以是一个数字(从创建cookie时算起,以天为单位)或一个Date 对 象。如果省略,那么创建的cookie是会话cookie,将在用户退出浏览器时被删除。
  2. path: '/' 默认情况:只有设置cookie的网页才能读取该cookie。 定义cookie的有效路径。默认情况下, 该参数的值为创建 cookie 的网页所在路径(标准浏览器的行为) 。 如果你想在整个网站中访问这个cookie需要这样设置有效路径:path: '/'。如果你想删除一个定义 了有效路径的 cookie,你需要在调用函数时包含这个路径:$.cookie('the_cookie', null,?1{ path: '/' });。 domain: 'example.com' 默认值:创建 cookie的网页所拥有的域名。
  3. secure: true 默认值:false。如果为true,cookie的传输需要使用安全协议(HTTPS)。
  4. raw: true 默认值:false。 默认情况下,读取和写入 cookie 的时候自动进行编码和解码(使用encodeURIComponent 编码, decodeURIComponent 解码)。要关闭这个功能设置 raw: true 即可。

可能遇到问题:

同一个网站在一个页面设置的cookie,在另一个页面访问不到

这个问题引起的主要原因可能是,你新打开的页面和存cookie的路径不在同一个路径下,cookie的作用范围默认只在当前路径下,例如 www.taobao.com/user/seting 和www.taobao.com/saling/shopingcart 就不在一个路径,你如果在第一个页面设置了cookie,打开第二个页面是看不到的

方法

设置的时候要加上参数 path=/,这样作用范围就是根路径了;复制代码

转载于:https://juejin.im/post/5c6edc3051882562d2744391

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值