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