最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js操作cookie保存瀏覽記錄的方法

 更新時間:2015年12月25日 09:44:33   作者:cui_angel  
這篇文章主要介紹了js操作cookie保存瀏覽記錄的方法,涉及JavaScript使用cookie記錄并保存用戶瀏覽網頁信息的實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了js操作cookie保存瀏覽記錄的方法。分享給大家供大家參考,具體如下:

說明:最近做了一個功能,記錄用戶瀏覽過的產品頁面。我的思路是,客戶每次進入產品頁面,就自己調用JS把產品信息以json的形式保存到cookie里面。

瀏覽記錄的顯示是從cookie里讀出來,然后解析成json,生成html元素。因為用戶可能會同時打開好幾個頁面,這幾個頁面上可能都有瀏覽記錄,為了使即使顯示瀏覽記錄,每秒中刷新一次。

要用到2個js文件,history.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程序設計有所幫助。

相關文章

  • javascript將數(shù)組插入到另一個數(shù)組中的代碼

    javascript將數(shù)組插入到另一個數(shù)組中的代碼

    下面的代碼主要功能就是將數(shù)組arr2插入到數(shù)組arr1的index位置,需要的朋友可以參考下
    2013-01-01
  • JS實現(xiàn)圖片點擊后出現(xiàn)模態(tài)框效果

    JS實現(xiàn)圖片點擊后出現(xiàn)模態(tài)框效果

    這篇文章主要介紹了JS實現(xiàn)圖片點擊后出現(xiàn)模態(tài)框效果,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-05-05
  • bootstrap multiselect下拉列表功能

    bootstrap multiselect下拉列表功能

    這篇文章主要為大家詳細介紹了bootstrap multiselect下拉列表功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • uni-app中px與rpx的轉換方法

    uni-app中px與rpx的轉換方法

    這篇文章主要給大家介紹了關于uni-app中px與rpx的轉換方法,rpx單位最初由微信推出,它與我們常用px一個很大的區(qū)別就是具有響應式,需要的朋友可以參考下
    2023-10-10
  • JavaScript使用表單元素驗證表單的示例代碼

    JavaScript使用表單元素驗證表單的示例代碼

    這篇文章主要介紹了JavaScript使用表單元素驗證表單的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • javascript定義類和類的實現(xiàn)實例詳解

    javascript定義類和類的實現(xiàn)實例詳解

    這篇文章主要介紹了javascript定義類和類的實現(xiàn),結合實例形式較為詳細的分析了JavaScript類的定義方式與相關使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-12-12
  • 微信小程序小組件 基于Canvas實現(xiàn)直播點贊氣泡效果

    微信小程序小組件 基于Canvas實現(xiàn)直播點贊氣泡效果

    這篇文章主要為大家詳細介紹了微信小程序小組件,基于Canvas實現(xiàn)直播點贊氣泡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • JavaScript實現(xiàn)QQ聊天室功能

    JavaScript實現(xiàn)QQ聊天室功能

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)QQ聊天室功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Javascript實現(xiàn)頁面滾動時導航智能定位

    Javascript實現(xiàn)頁面滾動時導航智能定位

    本篇文章主要介紹了Javascript實現(xiàn)頁面滾動時導航智能定位,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 微信小程序獲取當前位置的詳細步驟

    微信小程序獲取當前位置的詳細步驟

    微信小程序開發(fā)中選擇地理位置就需要通過官方文檔API去判斷用戶是否授權地理位置,用戶開啟授權后可直接獲取地理位置,下面這篇文章主要給大家介紹了關于微信小程序獲取當前位置的詳細步驟,需要的朋友可以參考下
    2022-12-12

最新評論

金阳县| 棋牌| 台山市| 微博| 新巴尔虎左旗| 阜城县| 云林县| 德阳市| 区。| 永吉县| 东山县| 缙云县| 曲阳县| 禄劝| 大化| 乌鲁木齐市| 彰化市| 永春县| 若羌县| 师宗县| 佳木斯市| 荔浦县| 巍山| 全州县| 油尖旺区| 龙州县| 综艺| 松溪县| 万州区| 尤溪县| 合山市| 玉山县| 常州市| 卢龙县| 福州市| 青川县| 武山县| 宝兴县| 罗城| 将乐县| 湘阴县|