【转】jquery.cookie.js的使用

Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。

例如:购物网站存储用户曾经浏览过的产品列表,或者门户网站记住用户喜欢选择浏览哪类新闻。 在用户允许的情况下,还可以存储用户的登录信息,使得用户在访问网站时不必每次都键入这些信息。

jquery.cookie.js下载地址http://plugins.jquery.com/cookie/

 

使用方法:

1、引入jQuery与jQuery.Cookie.js插件。

<script src="plugins/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="plugins/jquery.cookie.js" type="text/javascript"></script>

2、将cookie写入文件。

var COOKIE_NAME = 'username';

if( $.cookie(COOKIE_NAME) ){  
    $("#username").val( $.cookie(COOKIE_NAME) );  
}  
$("#check").click(function(){  
    if(this.checked){  
    $.cookie(COOKIE_NAME, $("#username").val() , { 
        path: '/', 
        expires: 10 
    });  
    //var date = new Date();  
    //date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000)); //三天后的这个时候过期  
    //$.cookie(COOKIE_NAME, $("#username").val(), { path: '/', expires: date });  
      }else{  
        $.cookie(COOKIE_NAME, null, { path: '/' }); //删除cookie  
    }  
});

 

  函

 

  语法:$.cookie(名称,值,[option])

  (1)读取cookie值

  $.cookie(cookieName)           cookieName:要读取的cookie名称。

  示例:$.cookie("username"); 读取保存在cookie中名为的username的值。

  

  (2)写入设置Cookie值:

  $.cookie(cookieName,cookieValue);  cookieName:要设置的cookie名称,cookieValue表示相对应的值。

  示例:$.cookie("username","admin"); 将值"admin"写入cookie名为username的cookie中。

  $.cookie("username",NULL);   销毁名称为username的cookie

  

  (3) [option]参数说明:

  expires:  有限日期,可以是一个整数或一个日期(单位:天)。  这个地方也要注意,如果不设置这个东西,浏览器关闭之后此cookie就失效了

  path:    cookie值保存的路径,默认与创建页路径一致。

  domin: cookie域名属性,默认与创建页域名一样。  这个地方要相当注意,跨域的概念,如果要主域名二级域名有效则要设置  ".xxx.com"

  secrue:   一个布尔值,表示传输cookie值时,是否需要一个安全协议。

  示例:

$.cookie("like", $(":radio[checked]").val(), { 
      path: "/", 
    expiress: 7 
})

 

一个完整设置与读取cookie的页面代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery学习2</title>
<script src="jQuery.1.8.3.js" type="text/javascript"></script>
<script src="jquery.cookie.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function() {
        $("#username").val($.cookie("username"));
        if ($.cookie("like") == "刘德华") {
            $(":radio[value='刘德华']").attr("checked", 'checked')
        } else {
            $(":radio[value='张学友']").attr("checked", 'checked')
        }
        $(":button").click(function() {
            $.cookie("username", $("#username").val(), {
                path : "/",
                expires : 7
            })
            $.cookie("like", $(":radio[checked]").val(), {
                path : "/",
                expiress : 7
            })
        })
    })
</script>
</head>
<body>
    <p>
        <input type="text" id="username" value="" />
    </p>
    <p>
        <input type="radio" name="like" value="刘德华" />刘德华 <input type="radio"name="like" value="张学友" />张学友
    </p>
    <p>
        <input type="button" value="保存" />
    </p>
</body>
</html>

 

cookie本质上是一个txt文本,因此只能够存入字符串,对象通常要序列化之后才能存入cookie,而取的时候要反序列才又能得到对象。

$(function() {
	if ($.cookie("o") == null) {
		var o = {
			name : "张三",
			age : 24
		};
		var str = JSON.stringify(o);//对序列化成字符串然后存入cookie 
		$.cookie("o", str, {
			expires : 7
		//设置时间,如果此处留空,则浏览器关闭此cookie就失效。 
		});
		alert("cookie为空");
	} else {
		var str1 = $.cookie("o");
		var o1 = JSON.parse(str1);//字符反序列化成对象 
		alert(o1.name);//输反序列化出来的对象的姓名值 
	}
})

 

jquery设置cookie过期时间与检查cookies是否可用

//让cookies在x分钟后过期
var date = new date();
date.settime(date.gettime() + (x * 60 * 1000));
$.cookie(‘example', ‘foo', { expires: date });
$.cookie(‘example', ‘foo', { expires: 7});

检查cookies是否可用

$(document).ready(function() {
    var dt = new date();
    dt.setseconds(dt.getseconds() + 60);
    document.cookie = "cookietest=1; expires=" + dt.togmtstring();
    var cookiesenabled = document.cookie.indexof("cookietest=") != -1;
    if(!cookiesenabled){
        //cookies不能用……..
    }
}); 

 

原文地址:http://www.jb51.net/article/44557.htm

 

 

转载于:https://www.cnblogs.com/chiangfai/p/6093691.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值