이 글의 예시에서는 검색 기록을 저장하기 위해 js가 쿠키를 운영하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
참고: 최근 사용자가 본 제품 페이지를 기록하는 기능을 만들었습니다. 내 생각은 고객이 제품 페이지에 들어갈 때마다 JS를 호출하여 json 형식의 쿠키에 제품 정보를 저장한다는 것입니다.
쿠키에서 검색 기록 표시를 읽은 다음 json으로 구문 분석하여 html 요소를 생성합니다. 사용자가 동시에 여러 페이지를 열 수 있으므로 이러한 페이지에는 검색 기록이 있을 수 있으며 검색 기록을 표시하기 위해 1초마다 새로 고쳐집니다.
주요 채팅 기록 저장 및 읽기 코드인 History.js라는 두 개의 js 파일이 사용됩니다. json.js, json을 처리합니다.
history.js
var addHistory=function(num,id){ stringCookie=getCookie('history'); var stringHistory=""!=stringCookie?stringCookie:"{history:[]}"; var json=new JSON(stringHistory); var e="{num:"+num+",id:"+id+"}"; 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]['num'],json['history'][i]['id'],"history"); displayNum--; if(displayNum==0){break;} } } //添加一个li元素 var addLi=function(num,id,pid){ var a=document.createElement('a'); var href='product.action?pid='+id; a.setAttribute('href',href); var t=document.createTextNode(num); a.appendChild(t); var li=document.createElement('li'); li.appendChild(a); document.getElementById(pid).appendChild(li); } //添加cookie var setCookie=function(c_name,value,expiredays) { var exdate=new Date() exdate.setDate(exdate.getDate()+expiredays) cookieVal=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString()); // alert(cookieVal); 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 // document.write(document.cookie.substring(c_start,c_end)+"<br>"); return unescape(document.cookie.substring(c_start,c_end)) } } return "" }
json.js
var JSON = function(sJSON){ this.objType = (typeof sJSON); 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(/ objectobject ,/ig,'').replace(/,\}/g,'}').replace(/,\]/g,']').slice(0,-1); }, push:function(sName,sValue){ this.self[sName] = sValue; this[sName] = sValue; } }
이 기사가 JavaScript 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.