JavaScript操作Cookie

Cookie是保存在浏览器端的,因此浏览器具有操作Cookie的先决条件。浏览器可以使用脚本程序如JavaScript或者VBScript等操作Cookie.这里以JavaScript为例介绍常用的Cookie操作。例如下面的代码会输出本页面所有的Cookie.

<script>document.write(document.cookie);</script>

各Cookie之间用分号“;”隔开,例如:“cookie1=A;cookie2=B”.JavaScript中并没有专门处理Cookie的API,如果想单独获取某个Cookie值,只能手工写代码解析字符串。例如下面代码中的setCookie()与getCookie()方法。
javascript.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>欢迎您</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">
        <script type="text/javascript">
        function getCookie(name){
            var str = document.cookie;
            if(!str || str.indexOf(name + "=") < 0)
                return;
            var cookies = str.split("; ");
            for(var i=0; i<cookies.length; i++){
                var cookie = cookies[i];
                if(cookie.indexOf(name + "=") == 0){
                    var value = cookie.substring(name.length + 1);
                    return decodeURI(value);
                }
            }
        }
        function setCookie(name, value){
            // document.cookie = name + "=" + encodeURI(value);
            var expires = (arguments.length > 2) ? arguments[2] : null;
            var path = (arguments.length > 3) ? arguments[3] : null;
            var domain = (arguments.length > 4) ? arguments[4] : null;
            var secure = (arguments.length > 5) ? arguments[5] : false;
            document.cookie = name + "=" + encodeURI(value) +
              ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
              ((path == null) ? "" : ("; path=" + path)) +
              ((domain == null) ? "" : ("; domain=" + domain)) +
              ((secure == true) ? "; secure" : "");
        }


        </script>
    </head>
    <body>
        <div align="center" style="margin:10px; ">
            <fieldset>
                <legend>当前有效的 Cookie</legend>
                <div id="cookieDiv"></div>
                <script type="text/javascript">
                    cookieDiv.innerHTML = document.cookie;
                </script>
            </fieldset>
            <fieldset>
                <legend>
                    欢迎您
                </legend>
                <table>
                    <tr>
                        <td>
                            读取 Cookie:
                        </td>
                        <td>
                            <input name="name1" /> <input class="button" type="button" value="读取" onclick="alert(getCookie(name1.value)); ">
                        </td>
                    </tr>
                    <tr>
                        <td>
                            &nbsp;
                        </td>
                        <td>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            设置 Cookie:
                        </td>
                        <td>
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            Name 属性:
                        </td>
                        <td>
                            <input name="name2" />
                        </td>
                    </tr>
                    <tr>
                        <td align="right">
                            Value 属性:
                        </td>
                        <td>
                            <input name="value2" />
                        </td>
                    </tr>
                    <!-- 
                    <tr>
                        <td align="right">
                            Age 属性:
                        </td>
                        <td>
                            <input name="age2" /> 单位:毫秒
                        </td>
                    </tr>
                     -->
                    <tr>
                        <td>
                        </td>
                        <td>
                            <input type="button" value="设置"
                                onclick="setCookie(name2.value, value2.value); cookieDiv.innerHTML = document.cookie; " class="button">
                        </td>
                    </tr>
                </table>
            </fieldset>
        </div>
    </body>
</html>

代码使用纯JavaScript代码实现了读写Cookie.运行效果如下图所示
Javascript读写Cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值