• <<< 网页中如何利用原生js和jquery储存cookie


    javascript当中的cookie机制,使应用达到了真正的全局变量的要求,cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质,由于cookie机制是把信息储存到硬盘,所以他可以用来做全局变量

    cookie有关安全性和作用域

      1、cookie可能被禁用。当用户非常注重个人隐私保护时,他很可能禁用浏览器的cookie功能; 
      2、cookie是与浏览器相关的。这意味着即使访问的是同一个页面,不同浏览器之间所保存的cookie也是不能互相访问的; 
      3、cookie可能被删除。因为每个cookie都是硬盘上的一个文件,因此很有可能被用户删除; 
      4、cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中,因此如果要保存用户名密码等信息时,最好事先经过加密处理。 

    JS设置cookie

    在原生的javascript当中,储存cookie使用键值对的方式来设置cookie,例如:

    document.cookie="userName=admin";
    

    如果是要储存多个值,使用 “ ; ” 号加空格隔开,例如

    document.cookie="userName=admin; password=admin";

    储存cookie并设置过期时间

    //这里的过期时间是以GMT时间格式表示的时间字符串
    //此句代码的一是为,将userName的过期时间设置为expiress定义好的时间,一旦超过这个时间cookie将失效
    document.cookie="userName=admin; expiress=过期时间";
    
    //创建一个cookie,设置一个过期时间
    <script language="JavaScript" type="text/javascript"> 
        var date=new Date();  //获取当前时间 
        date.setTime(date.getTime()+1*24*3600*1000);//将date设置为1天以后的时间
        document.cookie="userName=admin; expires="+date.toGMTString(); //将userName设置为1天后过期
    </script>
    

    删除Cookie  

    //将cookie设置为过去的时间可达到删除cookie的效果
    <script language="JavaScript" type="text/javascript"> 
     
        //获取当前时间 
        var date=new Date(); 
        //将date设置为过去的时间 
        date.setTime(date.getTime()-10000); 
        //将userName这个cookie删除 
        document.cookie="userName=admin; expires="+date.toGMTString(); 
    
    </script> 
    

    取值  

    <script language="JavaScript" type="text/javascript"> 
        //设置两个cookie 
        document.cookie="userName=admin; password=admin"; 
        //获取cookie字符串 
        var strCookie=document.cookie; 
        //将多cookie切割为多个名/值对 
        var arrCookie=strCookie.split("; "); 
        var userName; 
        //遍历cookie数组,处理每个cookie对 
        for(var i=0;i<arrCookie.length;i++){ 
            var arr=arrCookie[i].split("="); 
            //找到名称为userName的cookie,并返回它的值 
            if("userName"==arr[0]){ 
                userName=arr[1];
                break;
            } 
        } 
        alert(userName); 
    </script>        
    

    指定可访问cookie的路径 

    默认情况下,如果在某个页面创建了一个cookie,那么该页面所在目录中的其他页面也可以访问该cookie。如果这个目录下还有子目录,则在子目录中也可以访问。例如在www.xx.com/html/a.html中所创建的cookie,可以被www.xx.com/html/b.html或www.xx.com/html/ some/c.html所访问,但不能被www.xxxx.com/d.html访问。 

    为了控制cookie可以访问的目录,需要使用path参数设置cookie,语法如下: 

    document.cookie="name=value; path=cookieDir"; 
    其中cookieDir表示可访问cookie的目录。例如: 

    document.cookie="name=value; path=/admin";

    就表示当前cookie仅能在admin目录下使用。

    如果要使cookie在整个网站下可用,可以将cookie_dir指定为根目录,例如:

    document.cookie="name=value; path=/"; 

    Jquery设置cookie

      jquery由于封装了很多东西,所以在操作时很方便,使用jquery对cookie操作时需要导入两个js文件

    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script> 
    <script type="text/javascript" src="../js/jquery.cookie.js"></script> 
    
    
    $.cookie('name','value');//设置cookie的值,把name值设为value
    
    $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'baidu.com', secure: true});//新建一个cookie 包括有效期 路径 域名等
      //expires  设置过期时间,上面为7天
      //domain   设置生效域名,上面为baidu.com
      //secure   是否启用加密,默认为false,此处设置了true
    $.cookie('name', null);//删除一个值
    
    $.cookie('name');//取出name的值
    

      

    对cookie详细介绍:http://www.jb51.net/article/14566.htm

  • 相关阅读:
    linux下安装tomcat
    linux 中安装mysql8.0
    国家助学贷款
    语句摘录
    Java 今天是否为节假日
    Jfinal框架登陆页面的图形验证码
    ActiveRecord初始化,可以实现jfinal系统启动完成后,再建立数据库连接
    socket 通讯
    datatable的excel导入,其中有关于datatables的很多参数设置
    jfinal form表单提交文件
  • 原文地址:https://www.cnblogs.com/cnsevennight/p/3738243.html
Copyright © 2020-2023  润新知