Welcome 微信登录

首页 / 脚本样式 / JavaScript / cookie 最近浏览记录(中文escape转码)具体实现

[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%>"));