JavaScript

超轻量级php框架startmvc

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

更新时间:2020-04-21 00:27:08 作者:startmvc
本文实例讲述了jQuery.cookie.js实现记录最近浏览过的商品功能。分享给大家供大家参考,具

本文实例讲述了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.cookie.js 记录 最近浏览 商品