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