jquery.cookie.js结合asp.net实现最近浏览记录
一、html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>最近浏览记录</title>
<script type="text/javascript" src="/scripts/jquery/jquery-1.10.2.min.js"></script>
<script src="/scripts/json.js" type="text/javascript"></script>
<script src="/scripts/jquery/jquery.cookie.js" type="text/javascript"></script>
<script>
(function ($) { $.history = function (e) {
var e = $.extend({
cookieName: "PrdIDCookie", //cookie名称
nid: 100, //最新访问的商品ID
N: 5 //设置cookie保存的浏览记录的条数
}, e)
var fn = {
cutstr:function(str, len, chr) {
var temp;
var icount = 0;
var patrn = /[^\x00-\xff]/;
var strre = "";
for (var i = 0; i < str.length; i++) {
if (icount < len - 1) {
temp = str.substr(i, 1);
if (patrn.exec(temp) == null) {
icount = icount + 1
} else {
icount = icount + 2
}
strre += temp
} else {
break
}
}
return typeof(chr)=="undefined"? strre:strre + chr;
},
//记录最近浏览过的商品
record: function () {
var _historyp;
if ($.cookie(e.cookieName) == null) { //cookie 不存在
$.cookie(e.cookieName, e.nid, { expires: 7, path: '/' }); //创建新的cookie,保存浏览记录
} else { //cookies已经存在
_historyp = $.cookie(e.cookieName); //获取浏览过的商品编号ID
};
var pArray = _historyp.split(','); //分解字符串为数组
_historyp = e.nid; //最新访问的商品编号放置载最前面
var count = 0; //判断是该商品编号是否存在于最近访问的记录里面
for (var i = 0; i < pArray.length; i++) {
if (pArray[i] != e.nid) {
_historyp = _historyp + "," + pArray[i];
count++;
if (count == e.N - 1) {
break;
}
}
}
$.cookie(e.cookieName, _historyp); //修改cookie的值
},
bind: function () { //获取最近浏览过的商品
var _historyp = "";
if ($.cookie(e.cookieName) != null) { //cookie 不存在
_historyp = $.cookie(e.cookieName); //获取浏览过的商品ID
}
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]);
}
}
//--->请求商品详细详细...
$.post('/tools/submit_ajax.ashx?action=get_history_log', { id_arr: prdIDs.toString() }, function (data) {
var data = JSON.parse(data);
var list = '';
if (data) {
for (var i = 0; i < data.length; i++) {
list += '<li><a href="/fy/show/' + data[i].id + '.html"><font style="color:#0041d9">' + fn.cutstr(data[i].title,20) + '</font>-<font style="color:#ff6600">' + data[i].price + '元/平米.天</font></a></li>';
}
}
$("#history_log").html(list);
});
}
}
}
return fn;
}
})(jQuery)
$.history({
cookieName: "PrdIDCookie",
nid: 1628,
N: 5
}).record();
$.history().bind();
</script>
</head> <body>
<ul id="history_log"></ul>
</body>
</html>
asp.net处理代码
private void get_history_log(HttpContext context)
{
string id = DTRequest.GetFormString("id_arr");
DataTable dt = new BLL.article().Getdata_List("housing", 5, "id in(" + id + ")", "sort_id asc").Tables[0];
var list = new List<object>();
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
list.Add(new { id = dr["id"], title = dr["title"], price = dr["price"] });
}
context.Response.Write(new JavaScriptSerializer().Serialize(list));
return;
}
jquery.cookie.js结合asp.net实现最近浏览记录的更多相关文章
- jquery.cookie.js 删除cookie
简单交代一下背景:asp.net页面的上的切换登录按钮的点击事件实现cookie的删除. 但是好像没办法直接删除,通过网上提供的方法,可以使用jquery.cookie.js 来操作cookie的创建 ...
- JavaScript-Tool:jquery.cookie.js
ylbtech-JavaScript-Tool:jquery.cookie.js 1.返回顶部 1.jquery.cookie.js /*! * jQuery Cookie Plugin v1.4.0 ...
- jQuery插件 -- Cookie插件jquery.cookie.js(转)
Cookie是网站设计者放置在客户端的小文本文件.Cookie能为用户提供很多的使得,例如购物网站存储用户曾经浏览过的产品列表,或者门户网站记住用户喜欢选择浏览哪类新闻. 在用户允许的情况下,还可以存 ...
- jquery.cookie.js && java后台代码 操作cookie实现记住当前用户输入信息代码
下载jquery.cookie.js地址看这里:http://pan.baidu.com/s/1gdCPaN5 //初始化页面时验证是否记住了密码 $(document).ready(function ...
- 【转】jquery.cookie.js的使用
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...
- jquery.cookie.js 操作cookie实现记住密码功能的实现代码
jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下. 复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...
- Jquery.cookie.js 源码和使用方法
jquery.cookie.js源码和使用方法 jQuery操作cookie的插件,大概的使用方法如下 $.cookie(‘the_cookie’); //读取Cookie值$.cookie(’the ...
- jQuery.cookie.js插件了解及使用方法
jquery.cookie.js插件实现浏览器的cookie存储,该插件是基于jquery开发,方便cookie使用. jquerycookie.js的下载地址 http://plugins.jque ...
- jquery.cookie.js使用
1.下载jquery.cookie.js 官网:http://plugins.jquery.com/cookie/ 或 http://pan.baidu.com/s/1mgynA8g 2.使用方法 $ ...
随机推荐
- 委托, 泛型委托,Func<T>和Action<T>
使用委托来做一些事情,大致思路是: 1.定义声明一个委托,规定输入参数和输出类型.2.写几个符合委托定义的方法.3.把方法列表赋值给委托4.执行委托 internal delegate int MyD ...
- .net项目中使用Quartz
(1)在web.config中进行相关配置 <configSections> <section name="quartz" type="System.C ...
- 在Android.mk文件中输出打印消息
http://www.xuebuyuan.com/1947880.html 在进行Android NDK的开发当中有时想看看Android.mk文件当中某个变量的值,可以再Android.mk文件当中 ...
- WordPress主题开发:设置和获取浏览次数
将以下代码放在functions.php,一个是获取阅读量,一个是设置阅读量 <?php /** * getPostViews()函数 * 功能:获取阅读数量 * 在需要显示浏览次数的位置,调用 ...
- java List转换为字符串并加入分隔符的一些方法总结
方法一: public String listToString(List list, char separator) { StringBuilder sb = new StringBuilder(); ...
- 如何生成安全的密码 Hash:MD5, SHA, PBKDF2, BCrypt 示例
密码 Hash 值的产生是将用户所提供的密码通过使用一定的算法计算后得到的加密字符序列.在 Java 中提供很多被证明能有效保证密码安全的 Hash 算法实现,我将在这篇文章中讨论其中的部分算法. 需 ...
- Asp.Net Mvc3.0(MEF依赖注入实例)
前言 在http://www.cnblogs.com/aehyok/p/3386650.html前面一节主要是对MEF进行简单的介绍.本节主要来介绍如何在Asp.Net Mvc3.0中使用MEF. 准 ...
- 常用工具类系列之DateUtil
Date.long.Calendar之间的相互转换 //当前时间 Date date = DateUtil.date(); //当前时间 Date date2 = DateUtil.date(Cale ...
- information_schema系列十
information_schema系列十 1:INNODB_FT_CONFIG 这张表存的是全文索引的信息,查询前可以先通过以下语句查询一下开启全文索引的表: show variables li ...
- 统计学中RR OR AR HR的区别
一.相对危险度(RR)——队列研究中分析暴露因素与发病的关联程度 队列研究是选择暴露及未暴露于某一因素的两组人群,追踪其各自的发病结局,比较两组发病结局的差异,从而判定暴露因素与疾病有无关联及关联大小 ...