网站地图    收藏   

主页 > 前端 > javascript >

js cookie使用方法详解

来源:自学PHP网    时间:2014-09-19 14:47 作者: 阅读:

[导读] 昨天自己在做一个利用js cookie实现关闭广告的一个效果,下面我来js cookie操作的一些实例拿出来并且分享自己在使用cookie中的一些问题,及后面关于cookie一些问题解决办法。...

 代码如下 复制代码


<script>
function getCookie(c_name){
    if (document.cookie.length>0){  //先查询cookie是否为空,为空就return ""
      c_start=document.cookie.indexOf(c_name + "=")  //通过String对象的indexOf()来

检查这个cookie是否存在,不存在就为 -1  
      if (c_start!=-1){
        c_start=c_start + c_name.length+1  //最后这个+1其实就是表示"="号啦,这样

就获取到了cookie值的开始位置
        c_end=document.cookie.indexOf(";",c_start)  //其实我刚看见indexOf()第二个

参数的时候猛然有点晕,后来想起来表示指定的开始索引的位置...这句是为了得到值的结束位置。因为

需要考虑是否是最后一项,所以通过";"号是否存在来判断
        if (c_end==-1) c_end=document.cookie.length  
        return unescape(document.cookie.substring(c_start,c_end))  //通过

substring()得到了值。想了解unescape()得先知道escape()是做什么的,都是很重要的基础,想了解的

可以搜索下,在文章结尾处也会进行讲解cookie编码细节
      }
    }
    return ""
}  


function setCookie(c_name, value, expiredays){
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + expiredays);
    document.cookie=c_name+ "=" + escape(value) + "path=/;domain=111cn.net" +

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


function sc(days)
{
 setCookie('ashow','a',days);
 document.getElementById('ad').style.display='none';
}

function gc()
{
 if(getCookie('ashow')==1)
 {
  alert(getCookie('ashow'));
  document.getElementById('ad').style.display='none';
 }
}


</script>

<div id="ad">fdsafdsafdsafsda</div>
<script>
gc();
</script>
<a href="#" onclick="javascript:sc(1);">设置Cookie值</a>
<a href="#" onclick="javascript:gc();">获取Cookie值</a>
<a href="#" onclick="javascript:sc(-1);">清除Cookie值</a>


自己调用 cookie的总结

path= 这个如果你没有设置那么你的cookie只能适用于当前目录,如

http://www.111cn.net/php/phper.html如果我们在其它页面如http://www.111cn.net/sj/ 这样就获取

不到这个目录cookie值了

设置方法

path=/ 即可。

domain= 这个是设置域名了,如 我们设置的是www.111cn.net域名,没设置我们只能在这个域名,那么

二级域名就是无法读取cookie值了。

设置

domain=111cn.net

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论