jQuery 操作cookie保存用户浏览信息
jQuery cookie plugins
*/
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;
}
};
var formatJson = {"data":[]};
var jsonCookie = {"screen_name":escape(screen_name),"screen_ico":escape(screen_ico),"screen_location":escape(screen_location),
"screen_score":escape(screen_score),"userid":escape(userid)};
// parameters value is null? string return
if(!jsonCookie.userid){
showHistory();
return;
}
//read all history
var objs = $j.cookie('historyCooike');
var arrayCookies = [];
var jsonObjs = null;
if(objs != null){
jsonObjs = jQuery.parseJSON(objs);
for(var i=0;i<jsonObjs.data.length;i++){
var js_name = unescape(jsonObjs.data[i].screen_name);
var js_ico = unescape(jsonObjs.data[i].screen_ico);
var js_id = unescape(jsonObjs.data[i].userid);
var js_location = unescape(jsonObjs.data[i].screen_location);
var js_score = unescape(jsonObjs.data[i].screen_score);
if(userid != js_id){
var temp = {"screen_name":escape(js_name),"screen_ico":escape(js_ico),"screen_location":escape(js_location),
"screen_score":escape(js_score),"userid":escape(js_id)};
formatJson.data.push(temp);
}
}
}
if(formatJson.data.length > 9){
formatJson.data.pop();//delete last one
}
//put to first
formatJson.data.unshift(jsonCookie);
//get string type json
jsonObjs = JSON.stringify(formatJson);
//writer
$j.cookie('historyCooike', jsonObjs , {expires: 365 * 2, path: '/'});
//writer over show
showHistory();
}
function showHistory() {
var str='';
var historyCooike = $j.cookie('historyCooike');
var cookieObjs = null;
if(historyCooike != null){
cookieObjs = jQuery.parseJSON(historyCooike);
for(var i=0;i<cookieObjs.data.length;i++){
var cookie_name = unescape(cookieObjs.data[i].screen_name);
var cookie_ico = unescape(cookieObjs.data[i].screen_ico);
var cookie_id = unescape(cookieObjs.data[i].userid);
var cookie_location = unescape(cookieObjs.data[i].screen_location);
var cookie_score = unescape(cookieObjs.data[i].screen_score);
if(cookie_id == null || cookie_id == 'undefined') continue;
str += '<li>' +
'<div class="imgPL">' +
'<a class="blue" href="profile.do?uid=' + cookie_id + '">' +
'<img border="0" src="' + cookie_ico + '">' +
'</a>' +
'</div>' +
'<p>' +
'<span><a href="profile.do?uid=' + cookie_id + '">' + cookie_name + '</a></span> [' + cookie_location + ']'+
'<br />'+
'微博价值:<em class="red">' + cookie_score + '</em>'+
'</p>'+
'</li>'
}
}
if(str == '') {
$j('#right_user_list').html('<li style="text-align:center; line-height:40px; color:#646464; font-size:12px; border:none; padding-bottom:0px;">暂无查询记录</li>');
}else{
str += '<div style=" text-align: right; color:#0691C4; cursor:pointer; padding-top: 7px; font-size: 12px; padding-right:10px;"><span id="clearJL" onclick="clearCookie()">清空记录>>></span></div>';
$j('#right_user_list').html(str);
}
}
function clearCookie(){
$j.cookie('historyCooike', null);
showHistory();
}
jQuery 操作cookie保存用户浏览信息的更多相关文章
- 利用Cookie保存用户身份信息实现免登录
<%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...
- java的web项目中使用cookie保存用户登陆信息
本文转自:http://lever0066.iteye.com/blog/1735963 最近在编写论坛系统的实现,其中就涉及到用户登陆后保持会话直到浏览器关闭,同时可以使用cookie保存登陆信息以 ...
- 使用cookie保存用户登录信息
写入Cookie HttpCookie _cookie = new HttpCookie("User"); _cookie.Values.Add("UserName&qu ...
- jQuery cookie插件保存用户登陆信息
通过jquery cookie插件保存用户登录信息. 代码: <html> <head> <title>cookies.html</title> ...
- Jquery操作cookie,实现简单的记住用户名的操作
一.jquery.cookie.js介绍 jquery.cookie.js是一个基于jquery的插件,一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cook ...
- php使用session来保存用户登录信息
php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php //数据库的位置 define('DB_HOS ...
- jQuery 操作Cookie
一个轻量级的cookie 插件,可以读取.写入.删除 cookie. 下载地址:http://plugins.jquery.com/cookie/ (在实际中可以用这个保存cookie保存用户的习惯, ...
- day 66 Django基础之jQuery操作cookie
Django基础之jQuery操作cookie jquery之cookie操作 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery. ...
- day 62 Django基础之jQuery操作cookie
Django基础之jQuery操作cookie jquery之cookie操作 定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术: 下载与引入:jquery. ...
随机推荐
- 慢查询日志分析工具之pt-query-digest
简介 pt-query-digest 是用于分析mysql慢查询的一个工具,与mysqldumpshow工具相比,py-query_digest 工具的分析结果更具体,更完善. 有时因为 ...
- 王者参考jar包
- Windows UWP开发系列 – 3D变换
在Win8.1中,引入了一个PlaneProjection可以实现3D变换,但它的变换方式比较简单,只能实现基本的旋转操作.在Windows 10 UWP中,引入了一个更加强大的3D变换Transfo ...
- windows及linux下安装django simple captcha 遇到的各种问题及解决的方法
转载自http://www.cnblogs.com/descusr/p/3225874.html 全部程序写完之后,验证码图片不显示,点击图片地址会提演示样例如以下错误,而且在linux下的纠正办法 ...
- [置顶] 解决Firefox/Opera 不支持 onselectstart事件
在开发中,很多区域是不允许用户select的,在IE/Safari/Chrome中我们可以使用onselectstart事件来阻止用户选定元素内文本, 但在火狐中,这段区域还是可以选择的, 如下: & ...
- 使用Redisson实现分布式锁
原文:https://www.jianshu.com/p/cde0700f0128 1. 可重入锁(Reentrant Lock) Redisson的分布式可重入锁RLock Java对象实现了jav ...
- Ext的表格控件如何绑定
1. XML数据源 假设我们有一个数据源是以XML的形式存在的,我们需要从里面取出数据并绑定在界面.XML的结构如下: </age> <name>石曼迪</name&g ...
- unix简史及应用
Unix 简史 1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计画:该计画要建立一套多使用者.多任务.多层次(mul ...
- EntityFramework:迁移工具入门
背景 刚毕业做项目的时候,没有用“迁移”这个概念,系统发布和更新的过程让人非常痛苦,在学习 Ruby On Rails 的过程解除了“迁移”,以后的所有项目都会先确定好“迁移”的方案,本文介绍一下En ...
- Android屏幕尺寸适配注意事项
1 基本设置 1.1 AndroidManifest.xml设置 在中添加子元素 android:anyDensity="true"时,应用程序安装在不同密度的终端上时,程序会分别 ...