JavaScript操作cookie方法增删改查

cookie作为浏览器本地数据,是可以被JavaScript脚本调用的,下面是JavaScript操作cookie数据的基本方法增删改查。

需要三个参数,分别是cookie名称,cookie值,过期时间。

function setCookie(c_name,value,expiredays)

{

var exdate=new Date()

exdate.setDate(exdate.getDate()+expiredays)

document.cookie=c_name+ "=" +encodeURI(value)+

((expiredays==null) ? "" : ";expires="+exdate.toGMTString())

}

cookie的删除有几种方式,比如调整过期时间,使cookie失效,重置cookie值等等。下面的方法需要传入cookie的键名。

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的方法和设置cookie增加cookie的方法是一样的,当cookie不存在时浏览器会自动创建,如果存在就会自动更新对应的数据。

查询cookie需要传入需要查询的cookie键名,返回cookie的值。如果不存在将会返回空。对这个方法返回值进行判断,将能很好的实现检查cookie是否存在的功能。

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 decodeURIComponent(document.cookie.substring(c_start,c_end))

    } 

  }

return ""

}
 这里我使用了decodeURIComponent方法对cookie值进行了url解码,使用unescape方式解码如果后台是PHP那么将出现中文乱码,实测WordPress使用该方法出现中文乱码,故改此方法!

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/241456.html

(0)
上一篇 2022年4月7日 00:46
下一篇 2022年4月7日 00:46

相关推荐

发表回复

登录后才能评论