请教怎么限制写入cookie的数目
请问如何限制写入cookie的数目
代码如上,请问如何限制写入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,则不允许。
------解决方案--------------------
- 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读取 { var search = name + "=" if(document.cookie.length > 0) { offset = document.cookie.indexOf(search) if(offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset) if(end == -1) end = document.cookie.length return unescape(document.cookie.substring(offset, end)) } else return "" } } function showHistory(){ url="" return "<a href="+url+">"+getCookie("pHistory").split("¦").join("</a><br><a href="+url+">")+"</a>" } function addHistory(p){ sum=3 cookieStr = getCookie("pHistory") if(cookieStr!=""){ if(cookieStr.indexOf(p)!=-1) cookieStr = cookieStr.replace(p+"¦","") if(cookieStr.split("¦").length>sum) cookieStr = cookieStr.split("¦").slice(0,sum-1).join("¦")+"¦"; } cookieStr =p+"¦"+cookieStr setCookie("pHistory",cookieStr); document.getElementById("viewHistory").innerHTML = showHistory() } window.onload=function(){document.getElementById("viewHistory").innerHTML = showHistory()} </script> </head> <body> <div id="div"> <a href="javascript:void(0);" onclick="addHistory('product1');">商品1 </a> <a href="javascript:void(0);" onclick="addHistory('product2');">商品2 </a> <a href="javascript:void(0);" onclick="addHistory('product3');">商品3 </a> <a href="javascript:void(0);" onclick="addHistory('product4');">商品4 </a> <div id="viewHistory"> </div> </div> </body> </html>