• 使用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部分进行解码
    }
  • 相关阅读:
    spring 配置多个properties
    redis 一些使用过的命令
    ftpclient 遇到的一些问题
    tomcat+nginx 横向扩展
    easyui 刷新页面
    tomcat 发布本地文件
    java httpclient 跳过证书验证
    https增加临时证书,tomcat配置
    echarts getAttribute”的值: 对象为 null 或未定义 错误解决方法,
    数据的导入导出
  • 原文地址:https://www.cnblogs.com/litaiqing/p/4315589.html
Copyright © 2020-2023  润新知