Javascript操纵Cookie实现购物车程序_javascript技巧_脚本之家

复制代码
代码如下:/*****************************************************************************************************
Name 购物车 Version 1.1 Author Vanniurl:www.27sea.comQQ:303590170
CreateDate 2005-05-31 Description
此类是基于JavaScript和客户端Cookie,请保证客户端开启Cookie
数据保持可以通过this.expire=?小时来指定
类中两自带的两个对象typeObj和proObj均有两个相同属性名:name和value
类中数据存储形式如下———————————– Array(
newtypeObj(‘汽车’,array, newproObj, newtypeObj(‘蛋’,array, newproObj }
Cookie存取形式为[使用escape()函数加密过]————–
购物车名=汽车#三菱:200|本田:500,蛋#鸡蛋:10|鸭蛋:20
注意:客户端存Cookie时,不会出现问题。如果要循环存储的话,可能会出现有些存入,而有些未存入
解决方法:见下例(获得URL里的sales的数量,并存入Cookie)
文件:/depot/compareproduct.php中的JS代码片段 varcar=newCar;
vartypeName=’list’; car.delType; //将先前对比的产品清除
//得到URL里的参数,并分隔成数组 varurl=location.href;
varstart=url.lastIndexOf; varend=url.indexOfend=url.length;
varurlparam=url.substring(url.lastIndexOf.split; functionsetPageVal(){
if.length==urlparam.length)return;
//关键部分,如果数组长度不相等说明,有些Cookie没有存入 else{
car.addType; //增一个类别 for(i=0;i
*****************************************************************************************************/
/** Cookie类 */ functionCookie(){ /** @desc设置Cookie @returnvoid
*/ this.setCookie=function{ varexpire=””; if{
expire=newDate+hours*3600000); expire=”;expires=”+expire.toGMTString();
} document.cookie=escape+”=”+escape+expire; } /** @desc读取Cookie
@returnString */ this.getCookie=function{ varcookieValue=””;
varsearch=escape+”=”; if(document.cookie.length>0){
offset=document.cookie.indexOf; if{ offset+=search.length;
end=document.cookie.indexOf; ifend=document.cookie.length;
cookieValue=unescape(document.cookie.substring } } returncookieValue; }
} functionCar{ if(!window.clientInformation.cookieEnabled){
alert(‘你的浏览器不支持Cookie无法使用此购物车系统’); returnfalse; }
//##内部变量#############################################################
this.carName=name; this.expire =24*30; //购物车的有效时间
this.carDatas=newArray(); this.cookie =newCookie();
//##内部对象#############################################################
this.typeObj=function{ //自带的类别对象 this.name=name;
this.value=”/value; } this.proObj=function{ //自带的”商品对象
this.name=name; this.value=value; }
//##私有方法列表##########################################################
// // getTypePoint; //得到购物车里类别数组里的下标 // getProPoint;
//得到购物车里类别下的产品下标 // saveCookie()
//以特定的形式存储此购物车的Cookie //
//########################################################################
/** @desc得到购物车里类别数组里的下标,找到的话返回下标,否则返回-1
@returnint */ this.getTypePoint=function{ varisok=false; vari=0; for(;i

发表评论

电子邮件地址不会被公开。 必填项已用*标注