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 相关文章推荐
初学prototype,发个JS接受URL参数的代码
Sep 25 Javascript
表格 隔行换色升级版
Nov 07 Javascript
jquery中子元素和后代元素的区别示例介绍
Apr 02 Javascript
JavaScript中获取样式的原生方法小结
Oct 08 Javascript
AngularJS中的过滤器使用详解
Jun 16 Javascript
基于javascript实现彩票随机数生成(简单版)
Apr 17 Javascript
基于javascript制作微信聊天面板
Aug 09 Javascript
AngularJS 遇到的小坑与技巧小结
Jun 07 Javascript
JavaScript 函数模式详解及示例
Sep 07 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
Jun 05 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 Vue.js
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 前一天或后一天的日期
2008/06/28 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python中os.path用法分析
2015/01/15 Python
Python常用内置函数总结
2015/02/08 Python
pycharm创建一个python包方法图解
2019/04/10 Python
通俗讲解python 装饰器
2020/09/07 Python
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
火锅店的活动方案
2014/08/15 职场文书
优秀党员事迹材料
2014/12/18 职场文书
客房部经理岗位职责
2015/02/02 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书