最近在系统中要求做一个最近访问的功能,经过查找有关文章,发现使用jquery.cookie可以很好地解决,虽然最终做的功能没有使用这种,但还是觉得很不错,所以分享给大家
1 下载jquery.cookie.js
链接:https://pan.baidu.com/s/1c2feGU0 密码:4nj3
链接: http://plugins.jquery.com/cookie/
2 获取记录,存入cookie
var art_title = $(".blog_txt h2").text(); //获取标题(按你的需求来))
var art_url = document.URL; //获取地址(按你的需求来)
var history; //一会存放cookie的变量
var json="["; //拼接json字符串
//json1是第一次注入cookie以后的第一个json,
var json1;
var canAdd= true;
if(!$.cookie("history")){ //第一次,还不存在cookie
history = $.cookie("history","{title:\""+art_title+"\""+",url:\""+art_url+"\"}");
}else {
history = $.cookie("history");
json1 = eval("("+history+")");
$(json1).each(function(){
if(this.title==art_title){ //如果记录存在,则不加入
canAdd = false;
}
})
if(canAdd){
$(json1).each(function () {
json = json + "{\"title\":\"" + this.title + "\",\"url\":\"" + this.url + "\",\"time\":\"" + this.result + "\"},";
})
json = json + "{\"title\":\""+art_title+"\",\"url\":\""+art_url+"\",\"time\":\""+this.result+"\"}]";
$.cookie("history",json,{expires:1});
}
}
3 获取cookie,显示最近访问记录
$(function(){
if($.cookie("history")){
var json = eval("("+$.cookie("history")+")");
var list ="";
for(var i=0; i<json.length;i++){
list = list + "<div class='menu'><a href='"+json[i].url+"' target='right'>"+json[i].title+"</a></div>";
}
$("#list",parent.document).html(list); //放到你想显示的位置
}
});
总结
一定要首先在文件中引入jquery.cookie.js文件,然后多调试几次就可以了,由于我最终的功能是实现一个最常访问的按钮,按照访问次数顺序显示,显然,使用cookie是不可行的了,最终我选择了使用ajax请求后台方法从数据库中获取数据,进而通过jquery显示出来。