首页 > 编程 > JavaScript > 正文

cookie 最近浏览记录(中文escape转码)具体实现

2019-11-20 22:39:33
字体:
来源:转载
供稿:网友
[javascript]
复制代码 代码如下:

/**
*pro_id: 产品id 
*brand_name : 品牌
*pro_name : 产品id 
*price : 价格
* catalog : 机型
* img : 图片
*file_name : 文件名
*/ 
var addHistory=function(pro_id,brand_name,pro_name,price,catalog,img,file_name){  
    stringCookie=getCookie('history'); 
    var stringHistory=""!=stringCookie?stringCookie:"{history:[]}"; 
    var json=new JSON(stringHistory); 
    var pro_ids = '' ; 
    jQuery.each(json['history'],function(i,val){ 
        pro_ids+=json['history'][i].pro_id+"," ; 
    }) ; 
    if(jQuery.trim(pro_id)=='' || pro_ids.indexOf(pro_id)==-1){ 
            var e="{pro_id:"+pro_id+",brand_name:'"+brand_name+"',pro_name:'"+pro_name+"',price:'"+price+"',catalog:'"+catalog+"',img:'"+img+"',file_name:'"+file_name+"'}"; 
            json['history'].push(e);   //添加一个新的记录 
            setCookie('history',json.toString(),30); 
    } 

//显示历史记录 
var DisplayHistory=function(){ 
    var p_ele=document.getElementById('history'); 
     while (p_ele.firstChild) { 
      p_ele.removeChild(p_ele.firstChild); 
     } 

    var historyJSON=getCookie('history'); 
    var json=new JSON(historyJSON); 
    var displayNum=6; 
    for(i=json['history'].length-1;i>=0;i--){ 
        addLi(json['history'][i]['pro_id'],json['history'][i]['brand_name'],json['history'][i]['pro_name'],json['history'][i]['price'],json['history'][i]['catalog'],json['history'][i]['img'],json['history'][i]['file_name'],"history"); 
        displayNum--; 
        if(displayNum==0){break;} 
    } 

//添加一个cookie    
var addLi=function(pro_id,brand_name,pro_name,price,catalog,img,file_name,pid){ 
    var a=document.createElement('a'); 
    var href='/proDetail/'+file_name; 
    a.setAttribute('href',href); 
    a.setAttribute("target","_blank") ; 
    jQuery(a).html("<img src='"+unescape(img)+"' onerror="+"this.src='/images/nopic.gif'"+" width='90' height='50' /><h3> "+unescape(brand_name+pro_name+catalog)+"</h3><span class='price'>"+unescape(price)+"</span>") ; 
    var li=document.createElement('li'); 
    li.appendChild(a); 
    jQuery(li).appendTo("#"+pid) ; 

//添加cookie 
var setCookie=function(c_name,value,expiredays) 

    var exdate=new Date() 
    exdate.setDate(exdate.getDate()+expiredays) 
    cookieVal=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";path=/;expires="+exdate.toGMTString()); 
    document.cookie=cookieVal; 

//获取cookie 
function getCookie(c_name) 

    if (document.cookie.length>0) 
      { 
      c_start=document.cookie.indexOf(c_name + "=") 
      if (c_start!=-1) 
        {  
        c_start=c_start + c_name.length+1  
        c_end=document.cookie.indexOf(";",c_start) 
        if (c_end==-1) c_end=document.cookie.length 
        return unescape(document.cookie.substring(c_start,c_end)) 
        }  
      } 
    return "" 

// 清除cookie  
function DeleteCookie(){ 
     setCookie('history',"{history:[]}",30); 

 

json.js
[javascript]
复制代码 代码如下:

var JSON = function(sJSON){ 
 this.objType = (typeof sJSON); 
if(this.objType=='string' && ''==sJSON){ 
      sJSON = '{history:[]}' ; 

    this.self = []; 
    (function(s,o){ 
        for(var i in o){ 
            o.hasOwnProperty(i)&&(s[i]=o[i],s.self[i]=o[i]) 
            };})(this,(this.objType=='string')?eval('0,'+sJSON):sJSON); 

JSON.prototype = { 
    toString:function(){ 
        return this.getString(); 
    }, 
    valueOf:function(){ 
        return this.getString(); 
    }, 
    getString:function(){ 
        var sA = []; 
        (function(o){ 
            var oo = null; 
            sA.push('{'); 
            for(var i in o){ 
                if(o.hasOwnProperty(i) && i!='prototype'){ 
                    oo = o[i]; 
                    if(oo instanceof Array){ 
                        sA.push(i+':['); 
                        for(var b in oo){ 
                            if(oo.hasOwnProperty(b) && b!='prototype'){ 
                                sA.push(oo[b]+','); 
                                if(typeof oo[b]=='object') arguments.callee(oo[b]); 
                            } 
                        } 
                        sA.push('],'); 
                        continue; 
                    }else{ 
                        sA.push(i+':/''+oo+'/','); 
                    } 
                    if(typeof oo=='object') arguments.callee(oo); 
                } 
            } 
            sA.push('},'); 
        })(this.self); 
        return sA.slice(0).join('').replace(//[object object/],/ig,'').replace(/,/}/g,'}').replace(/,/]/g,']').slice(0,-1); 
    }, 
    push:function(sName,sValue){ 
        this.self[sName] = sValue; 
        this[sName] = sValue; 
    } 


加一个cookie
复制代码 代码如下:

addHistory("<%=uuid%>",escape("<%=factoryname%>"),escape("<%=name%>"),escape("<%=price%>"),escape("<%=catalogname%>"),escape("<%=img%>"),escape("<%=file_name%>"));
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表