您的位置:首页 > Web前端 > JQuery

使用jQuery的插件在客户端来管理Cookie

2009-09-16 13:02 639 查看
Cookie是用户浏览网站的时候,网站在用户的机器上存放的一小段文本文件,比如购物网站存储用户曾经浏览过的产品列表,门户网站记住用户经常喜欢去看的新闻.还可以记录用户的登录信息等等…
我们可以使用jQuery提供的插件Cookie来操作和管理网站的Cookie:代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

 

<html lang="en">

    <head>

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

        <meta http-equiv="Content-Style-Type" content="text/css">

        <meta http-equiv="Content-Script-Type" content="text/javascript">

        <title>jQuery Cookie Plugin</title>

        <mce:script src="jquery-1.3.1.js" mce_src="jquery-1.3.1.js" type="text/javascript"></mce:script>

        <mce:script src="jquery.cookie.js" mce_src="jquery.cookie.js" type="text/javascript"></mce:script>

        <mce:script type="text/javascript"><!--
            $(function() {

                var COOKIE_NAME = 'test_cookie';

                var ADDITIONAL_COOKIE_NAME = 'additional';

                $('a').eq(0).click(function() { // 用天数设置 cookie

                    $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 10 });

                    return false;

                });

                $('a').eq(1).click(function() { // 用日期设置 cookie

                    var date = new Date();

                    date.setTime(date.getTime() + (3 * 24 * 60 * 60 * 1000));

                    $.cookie(COOKIE_NAME, 'test', { path: '/', expires: date });

                    return false;

                });

                $('a').eq(2).click(function() { // 获取 cookie

                    alert($.cookie(COOKIE_NAME));

                    return false;

                });

                $('a').eq(3).click(function() { // 删除 cookie

                    $.cookie(COOKIE_NAME, null, { path: '/' });

                    return false;

                });

                $('a').eq(4).click(function() { // 设置第二个 cookie

                    $.cookie(ADDITIONAL_COOKIE_NAME, 'foo', { expires: 10 });

                    return false;

                });

                $('a').eq(5).click(function() { // 获取第二个 cookie

                    alert($.cookie(ADDITIONAL_COOKIE_NAME));

                    return false;

                });

                $('a').eq(6).click(function() { // 删除第二个 cookie

                    $.cookie(ADDITIONAL_COOKIE_NAME, null);

                    return false;

                });

            });

        
// --></mce:script>

    </head>

    <body>

        <p>

            <a href="#" mce_href="#">设置 cookie (设置有效期天数为 10 天)</a><br>

            <a href="#" mce_href="#">设置 cookie (通过 date 对象设置过期日期为 3 天后的那天)</a><br>

            <a href="#" mce_href="#">获取 cookie</a><br>

            <a href="#" mce_href="#">删除 cookie</a><br>

            <a href="#" mce_href="#">设置另一个 cookie</a><br>

            <a href="#" mce_href="#">获取另一个 cookie</a><br>

            <a href="#" mce_href="#">删除另一个 cookie</a>

        </p>

    </body>

</html>


Cookie插件的API:
1) 写入Cookie
$.cookie(‘cookie’,’value’);
cookie是要写入的Cookie的名字,value是要写入的值.
2) 读取Cookie
$.cookie(‘cookie’);
cookie是要读取的Cookie的名.
3) 删除Cookie
$.cookie(‘cookie’,null);
cookie是Cookie的名字,设置为null就是删除该Cookie,必须使用与之前设置时候相同的路径(path)和域名(domain),才可以正确的删除Cookie.
4) 其他的参数说明
$.cookie(‘cookie’,’value’,{
expires:7,
path:’/’,
domain:’supermosquito.com’,
secure:true
})
① expires(Number|Date)有效期.
可以设置一个整数作为有效期(单位是天),也可以直接设置一个日期对象作为Cookie的过期设置.如果设置的日期为负数,比如已经过去的日子,那么此Cookie将会被直接删除,如果不设置或者设置为null,那么这个Cookie将会被当做Session cookie处理,也就是在浏览器关闭的时候被删除.
② path(String)cookie的路径属性.
默认是创建该Cookie的页面路径
③ domain(String)Cookie的域名属性
默认是创建该Cookie的页面域名
④ secure(Boolean):
如果设置为true那么此Cookie的传输会要求一个安全协议,比如HTTPS.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: