jquery使用Cookie和JSON记录用户最近浏览历史


Posted in Javascript onApril 19, 2016

在一些电商网站,有“商品浏览历史记录”这一功能,一些视频类、小说类的网站也能记录用户最近的浏览历史。本文将使用Cookie以及JSON来讲解如何实现这一功能。
Cookie可以用来记录客户端用户ID、密码、浏览过的网页、停留的时间等信息,jQuery提供了一个cookie插件,能非常方便的读写cookie信息。
基本流程:
1、获取文章详情页面文章的标题和页面地址;
2、获取浏览历史cookie信息,判断如果浏览历史的cookie中已经存在当前文章的浏览记录,则不进行任何操作;
3、如果浏览历史的cookie中不存在当前文章的浏览记录,则将当前文章的cookie信息(文章标题和页面地址)写入浏览历史的cookie信息中。写入的cookie信息,采用JSON数据格式,便于读取。
4、获取浏览历史cookie信息,遍历JSON数据,分析并输出浏览历史记录。
详解:
1、保证要记录浏览历史的文章详情页面已载入jquery和cookie插件。获取当前文章页面的文章标题和页面地址: 

var art_title = $(".blog_txt h2").text(); //文章标题 
var art_url = document.URL; //页面地址

2、获取用户历史浏览记录,如果已经存在浏览历史,则分析历史记录的cookie信息(JSON数据格式),获取记录长度。

var canAdd = true; //初始可以插入cookie信息 
var hisArt = $.cookie("hisArt"); 
var len = 0; 
if(hisArt){ 
  hisArt = eval("("+hisArt+")"); 
  len = hisArt.length; 
}

3、如果浏览历史cookie信息已经存在,则遍历cookie信息,对比当前文章标题,如果cookie信息中已经存在当前文章标题,则中止程序,不做任何操作。

$(hisArt).each(function(){ 
  if(this.title == art_title){ 
    canAdd = false; //已经存在,不能插入 
    return false; 
  } 
});

4、如果浏览历史cookie中不存在当前文章,则可以像浏览历史cookie中插入当前文章的cookie信息。此时需要构建json数据,将已有的浏览记录cookie和当前页面的cookie信息已经组合成JSON数据,然后通过$.cookie()方法写入到浏览历史记录中。

if(canAdd==true){ 
  var json = "["; 
  var start = 0; 
  if(len>4){start = 1;} 
  for(var i=start;i<len;i++){ 
    json = json + "{\"title\":\""+hisArt[i].title+"\",\"url\":\""+hisArt[i].url+"\"},"; 
  } 
  json = json + "{\"title\":\""+art_title+"\",\"url\":\""+art_url+"\"}]"; 
  $.cookie("hisArt",json,{expires:1}); 
}

这样,我们就得到了用户的浏览历史记录cookie信息,cookie名称为hisArt,值为JSON格式的数据,如:[{"title":"article1","url":"a.html"},{"title":"article2","url":"b.html"},]
5、接下来,我们就要在需要展示用户浏览历史记录的cookie信息。在本例对应的demo页面,首先要获取浏览历史cookie:hisArt的值,然后分析,遍历,组合成字符串输出到页面,代码如下:

$(function(){ 
  var json = eval("("+$.cookie("hisArt")+")"); 
  var list = ""; 
  for(var i=0; i<json.length;i++){ 
    list = list + "<li><a href='"+json[i].url+"' target='_blank'>"+json[i].title+"</a></li>"; 
  } 
  $("#list").html(list); 
});

我们在demo的页面中放置了一个#list的列表,当然这个页面也需要预先载入jquery库和cookie插件。

以上就是本文的全部内容,希望对大家学习cookie插件有所帮助。

Javascript 相关文章推荐
关于setInterval、setTimeout在jQuery中的使用注意事项
Sep 28 Javascript
JQuery循环滚动图片代码
Dec 08 Javascript
javascript的创建多行字符串的7种方法
Apr 29 Javascript
jQuery实现首页图片淡入淡出效果的方法
Jun 10 Javascript
详解AngularJS Filter(过滤器)用法
Dec 28 Javascript
javascript实现数字倒计时特效
Mar 30 Javascript
iscroll实现下拉刷新功能
Jul 18 Javascript
jQuery接受后台传递的List的实例详解
Aug 02 jQuery
浅谈pc端rem字体设置的问题
Aug 03 Javascript
js实现简单点赞操作
Mar 17 Javascript
详解vue路由
Aug 05 Javascript
Vue toFixed保留两位小数的3种方式
Oct 23 Javascript
javascript实现简单计算器效果【推荐】
Apr 19 #Javascript
Jquery实现的简单轮播效果【附实例】
Apr 19 #Javascript
jQuery实现选项联动轮播效果【附实例】
Apr 19 #Javascript
浅析JavaScript中浏览器的兼容问题
Apr 19 #Javascript
javascript+HTML5 Canvas绘制转盘抽奖
May 16 #Javascript
深入浅析JavaScript中的constructor
Apr 19 #Javascript
js点击返回跳转到指定页面实现过程
Aug 20 #Javascript
You might like
PHP分页显示制作详细讲解
2006/10/09 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
php数组删除元素示例
2014/03/21 PHP
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
javascript各种复制代码收集
2008/09/20 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
详解JavaScript的表达式与运算符
2015/11/30 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
node实现简单的反向代理服务器
2017/07/26 Javascript
tangram.js库实现js类的方式实例分析
2018/01/06 Javascript
深入理解JS中Number(),parseInt(),parseFloat()三者比较
2018/08/24 Javascript
微信小程序实现下拉刷新动画
2019/06/21 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
python中list列表的高级函数
2016/05/17 Python
微信跳一跳游戏python脚本
2020/04/01 Python
带你认识Django
2019/01/15 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
2019/06/18 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
Python 获取项目根路径的代码
2019/09/27 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
C/C++有关内存的思考题
2015/12/04 面试题
协议书模板
2014/04/23 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
诚信教育主题班会
2015/08/13 职场文书
2016习总书记系列重要讲话心得体会
2016/01/15 职场文书
新员工入职感言范文!
2019/07/04 职场文书