欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery.cookie.js实现记录最近浏览过的商品功能示例

程序员文章站 2022-06-13 12:58:45
本文实例讲述了jquery.cookie.js实现记录最近浏览过的商品功能。分享给大家供大家参考,具体如下: 1、jquery.cookie.js /*jque...

本文实例讲述了jquery.cookie.js实现记录最近浏览过的商品功能。分享给大家供大家参考,具体如下:

1、jquery.cookie.js

/*jquery.cookie.js */
jquery.cookie = function(name, value, options) {
  if (typeof value != 'undefined') { // name and value given, set cookie
    options = options || {};
    if (value === null) {
      value = '';
      options.expires = -1;
    }
    var expires = '';
    if (options.expires && (typeof options.expires == 'number' || options.expires.toutcstring)) {
      var date;
      if (typeof options.expires == 'number') {
        date = new date();
        date.settime(date.gettime() + (options.expires * 24 * 60 * 60 * 1000));
      } else {
        date = options.expires;
      }
      expires = '; expires=' + date.toutcstring(); // use expires attribute, max-age is not supported by ie
    }
    var path = options.path ? '; path=' + options.path : '';
    var domain = options.domain ? '; domain=' + options.domain : '';
    var secure = options.secure ? '; secure' : '';
    document.cookie = [name, '=', encodeuricomponent(value), expires, path, domain, secure].join('');
  } else { // only name given, get cookie
    var cookievalue = null;
    if (document.cookie && document.cookie != '') {
      var cookies = document.cookie.split(';');
      for (var i = 0; i < cookies.length; i++) {
        var cookie = jquery.trim(cookies[i]);
        // does this cookie string begin with the name we want?
        if (cookie.substring(0, name.length + 1) == (name + '=')) {
          cookievalue = decodeuricomponent(cookie.substring(name.length + 1));
          break;
        }
      }
    }
    return cookievalue;
  }
};

2、实现最近浏览过的商品

var cookiename = "prdidcookie";  //cookie名称
var nid;             //最新访问的商品id
var n = 5;            //设置cookie保存的浏览记录的条数
//记录最近浏览过的商品
function historyrecord() {
  var historyp;
  nid = $("#prdid").val();
  if (nid == null || nid == "") {
    return;
  }
  //判断是否存在cookie
  if ($.cookie(cookiename) == null) //cookie 不存在
  {
    //创建新的cookie,保存浏览记录
    $.cookie(cookiename, nid, { expires: 7, path: '/' });
  }
  else //cookies已经存在
  {
    //获取浏览过的商品编号id
    historyp = $.cookie(cookiename);
  };
  //分解字符串为数组
  var parray = historyp.split(',');
  //最新访问的商品编号放置载最前面
  historyp = nid;
  //判断是该商品编号是否存在于最近访问的记录里面
  var count = 0;
  for (var i = 0; i < parray.length; i++) {
    if (parray[i] != nid) {
      historyp = historyp + "," + parray[i];
      count++;
      if (count == n - 1) {
        break;
      }
    }
  }
  //修改cookie的值
  $.cookie(cookiename, historyp);
}
//获取最近浏览过的商品
function bindhistory() {
  var historyp = "";
  if ($.cookie(cookiename) != null) //cookie 不存在
  {
    //获取浏览过的商品id
    historyp = $.cookie(cookiename);
  }
  if (historyp == null && historyp == "") {
    return;
  }
  else
  {
    var prdids = [];  //将商品id以列表或数据的方式保存
    var parray = historyp.split(',');
    for (var i = 0; i < parray.length; i++) {
      if (parray[i] != "") {
        //alert(parray[i]);
        prdids.push(parray[i]);
      }
    }
    //--->请求商品详细详细...
  }
}

更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery的cookie操作技巧总结》、《jquery扩展技巧总结》、《jquery常用插件及用法总结》、《jquery表格(table)操作技巧汇总》、《jquery常见经典特效汇总》及《jquery选择器用法总结

希望本文所述对大家jquery程序设计有所帮助。