• js保存数据到cookie


    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+"}";
        //alert(e);
        json['history'].push(e);//添加一个新的记录   
        //alert(json.toString());
        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');
        alert(historyJSON);
        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){
    //alert(document.cookie.length>0);
        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(/\[object object\],/ig,'').replace(/,\}/g,'}').replace(/,\]/g,']').slice(0,-1);
     },   
     push:function(sName,sValue){
      this.self[sName] = sValue;
      this[sName] = sValue;
     }
    }

    //具体执行文件

    ---------------------------------------------------------------------------

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
     <head>
      <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
      <meta name="apple-mobile-web-app-capable" content="yes" />
      <title>cookie</title>
     
      <script type="text/javascript" src="../js/json.js"></script>
      <script type="text/javascript" src="../js/history.js"></script>
      <script>
       addHistory(15810782304,2);
       addHistory(64654665,2);
       addHistory(6843212,2);
       addHistory(84984432521,2);
       setInterval("DisplayHistory()",1000);
      </script>
     </head>
     <body>
      <ul id="history"></ul>
     </body>
    </html>

  • 相关阅读:
    关于排列问题的一系列归类
    [翻译] 服务定位器是反模式
    [翻译] Autofac 入门文档
    关系,表和封闭世界假定
    Elasticsearch实现类似 like '?%' 搜索
    LVS + keepalived(DR) 实战
    kafka集群中常见错误的解决方法:kafka.common.KafkaException: Should not set log end offset on partition
    Elasticsearch1.7服务搭建与入门操作
    Ubuntu下安装Tomcat7
    VB编程技巧推荐
  • 原文地址:https://www.cnblogs.com/rmsSpring/p/2303538.html
Copyright © 2020-2023  润新知