日期:2014-05-16  浏览次数:20461 次

请问如何限制写入cookie的数目
JScript code

<script language="javascript" type="text/javascript">
    function setCookie(name,value) {
        var Days = 1;
        var exp  = new Date();
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
    }

    function getCookie(name) {
        var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
        if(arr=document.cookie.match(reg))
            return unescape(arr[2]);
        else
            return "";
    }
    function setURL(productId){
        //
        if(!(getCookie("test").indexOf(productId)>0)){
            if(getCookie("test")!="")
                setCookie("test",getCookie("test") + "|" + productId);
            else
                setCookie("test",productId);
        }
n con;
    }
    //初始化s


代码如上,请问如何限制写入cookie的数量为3条? 多谢

------解决方案--------------------
晕,上次不是已经告诉你了吗?
使用一个专门记录COOKIE的次数,记得在你那个帖里说得很清楚了
包括怎么用COOKIE


function setURL(productId){
//
var getCookie("num")=0;
if(getCookie("num")<4){
if(!(getCookie("test").indexOf(productId)>0)){
if(getCookie("test")!="")
setCookie("test",getCookie("test") + "|" + productId);
else
setCookie("test",productId);
}
getCookie("num")=getCookie("num")+1
}
document.getElementById("txt").innerHTML = "";
document.getElementById("txt").innerHTML = getCookie("test");
}

------解决方案--------------------
我们假设那个计数器叫 COUNTER
function setCookie(name,value) {
var num = getCookie("COUNTER");
if( name!="COUNTER" && num>=3){
return;
}
setCookie("CUNTER",num+1); 
。。。。。。
}

上面是思路,具体的你得自己调整了。总之,就是在set前,读取cookie里面的当前计数器,如果大于3,则不允许。
------解决方案--------------------
HTML code
<script language="javascript" type="text/javascript">
    function setCookie(name,value) {

        var num = getCookie("COUNTER");
        if(!num){
          num=0;
        }
        if(num>=3){
          alert("FULL");
          return;
        }
        re

------解决方案--------------------
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
<title>myvicy view history</title> 
<script language="javascript" type="text/javascript">  
function setCookie(name, value)        //cookies设置
{
    var argv = setCookie.arguments;
    var argc = setCookie.arguments.length;
    var expires = (argc > 2) ? argv[2] : 1;
    if(expires!=null&&expires!="")
    {
        var LargeExpDate = new Date ();
        LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24));
    }
    document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString()));
}

function getCookie(name)            //cookies读取
{