zoukankan      html  css  js  c++  java
  • 使用JavaScript操作Cookie

    使用JavaScript操作Cookie
    相关文档请见DHTML.CHM。里面有完整的操作方法说明。以下是代码示例。
    1、使用JavaScript保存一个Cookie
    var date = new Date();        //声明当前时间
    var time = 1000*60*60*24;        //这是一天。1000毫秒(即1秒)*60=1分钟
    time = date.getTime()+time;   //当前时间的毫秒值相加
    date.setTime(time);            //设置时间,这时的时间已经是加上1天以后的时间了
    var path = "<%=request.getContextPath()%>";//获取当前项目的目录
    document.cookie="name=JSJack;expires="+date.toUTCString()+";path="+path;//保存Cookie
    
    在上面的设置中,显式的设置了path。不果不设置则为当前页面所在的路径。2、使用JS读取Cookie
    var cs = document.cookie.split(";");//根据;(分号)分隔所有Cookie
    div.innerHTML=cs.length;            //判断Cookie的个数写到已定义的div中
    for(var i=0;i<cs.length;i++){        //遍历Cookie
    var c = cs[i];
    div.innerHTML+="<br/>"+c;        //显示Cooke,格式为:Name=Value
    }
    显示结果如下:
    1                    //这是个数
    name=JSJack            //这是Cookie
    
    3、使用JS删除一个Cookie
        删除时,必须要与原来的值设置的完全一样,否则删除不成功。删除时,只要将时间设置为一个过期的时间即可以删除。
    代码示例:
    创建:
    var date = new Date();        //声明当前时间
    var time = 1000*60*60*24;        //这是一天。1000毫秒(即1秒)*60=1分钟
    time = date.getTime()+time;   //当前时间的毫秒值相加
    date.setTime(time);            //设置时间,这时的时间已经是加上1天以后的时间了
    document.cookie="name=JSJack;expires="+date.toUTCString()+";path=/";//保存Cookie
    删除:
    <script type="text/javascript">
            //删除Cookie只要将时间设置为过期时间即可
            var date = new Date(1900,1,1);//声明一个已经过去的时间
            document.cookie="name=ok;expires="+date.toUTCString()+";path=/";//执行删除
    </script>
    
    4、保存中文示例
    Cookie中不可以保存中文。有些浏览器如IE,虽然看上去可以处理中文,但会使整个JS解析终止,所以,不可以直接保存中文。
    如果要保存中文,应该使用escape(string)进行编码,当然读取一个经过编码的cookie时,还必须要经过unescape(string)解码。
    
    保存中文的示例代码:
    var date = new Date();        //声明当前时间
    var time = 1000*60*60*24;        //这是一天。1000毫秒(即1秒)*60=1分钟
    time = date.getTime()+time;   //当前时间的毫秒值相加
    date.setTime(time);            //设置时间,这时的时间已经是加上1天以后的时间了
    var cn = "你好";                //声明需要保存的中文
    cn = escape(cn);                //对中文进行编码
    document.cookie="name="+cn+";expires="+date.toUTCString()+";path=/";//保存Cookie
    
    读取中文时当然也要进行unescape的解码:
    var cs = document.cookie.split(";");//根据;(分号)分隔所有Cookie
    div.innerHTML=cs.length;            //判断Cookie的个数写到已定义的div中
    for(var i=0;i<cs.length;i++){        //遍历Cookie
    var c = cs[i];
    div.innerHTML+="<br/>"+c;        //显示Cooke,格式为:Name=Value
    var cc = c.split("=");            //根据=等于号进行分隔
    div.innerHTML+="<br/>"+cc[0]+","+unescape(cc[1]);//对value部分进行解码
    }
  • 相关阅读:
    Python for Infomatics 第14章 数据库和SQL应用四(译)
    展望2017
    bing的简单英文字典工具
    自我安慰
    Python for Infomatics 第14章 数据库和SQL应用三(译)
    Python for Infomatics 第14章 数据库和SQL应用二(译)
    Python for Infomatics 第14章 数据库和SQL应用一(译)
    希望父亲早日恢复
    Python for Infomatics 第13章 网页服务四(译)
    Python for Infomatics 第13章 网页服务三(译)
  • 原文地址:https://www.cnblogs.com/litaiqing/p/4315589.html
Copyright © 2011-2022 走看看