博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cookie存取上次浏览记录
阅读量:5216 次
发布时间:2019-06-14

本文共 2960 字,大约阅读时间需要 9 分钟。

1.HttpCookie cookie = new HttpCookie("lastTime");//定义cookie对象以及名为lastTime的项 2 DateTime dt = DateTime.Now;//定义时间对象 3 TimeSpan ts=new TimeSpan(1,0,0,0);//cookie有效作用时间,具体查msdn 4 cookie.Expires = dt.Add(ts);//添加作用时间 5 cookie.Values.Add("time",ts.toString());//增加属性 6 Response.AppendCookie(cookie);//确定写入cookie中 读取cookie    1 if(Request.Cookies["lastTime"]!=null)    2 {    3 string time=Convert.ToString(Request.Cookies["lastTime"].Values["time"]);    5 if(time=="")    6 {    7 Response.Write("空");    8 }    9 else 10 Response.Write(time); 11 } 12 else 13 { 14 Response.Write("error"); 15 }

2.下面就结合程序给大家一步一步讲解(程序难免有不合理之处,希望大家多多指正,共同进步):

第一部分:javascript纪录浏览动作 function glog(evt) //定义纪录鼠标点击动作的函数 { evt=evt?evt:window.event;var srcElem=(evt.target)?evt.target:evt.srcElement; try { while(srcElem.parentNode&&srcElem!=srcElem.parentNode) //以上这个语句判断鼠标动作是否发生在有效区域,防止用户的无效点击也被纪录下来 { if(srcElem.tagName&&srcElem.tagName.toUpperCase()=="A")//判断用户点击的对象是否属于链接 { linkname=srcElem.innerHTML; //取出事件发生源的名称,也就是和之间的文字,也就是链接名称哈 address=srcElem.href+"_www.achome.cn_"; //取出事件发生源的href值,也就是该链接的地址 wlink=linkname+"+"+address; //将链接名称和链接地址整合到一个变量当中 old_info=getCookie("history_info"); //从Cookies中取出以前纪录的浏览历史,该函数后面有声明

//以下程序开始判断新的浏览动作是否和已有的前6个历史重复,如果不重复则写入cookies var insert=true; if(old_info==null) //判断cookie是否为空 { insert=true; } else { var old_link=old_info.split("_www.achome.cn_"); for(var j=0;j<=5;j++) { if(old_link[j].indexOf(linkname)!=-1) insert=false; if(old_link[j]=="null") break; } }

if(insert) { wlink+=getCookie("history_info"); setCookie("history_info",wlink); //写入cookie,该函数后面有声明 history_show().reload(); break; }

} srcElem = srcElem.parentNode; } } catch(e){} return true; }

document.οnclick=glog;//使每一次页面的点击动作都执行glog函数 [/code]

第2部分:Cookies的相关函数 以下内容为程序代码:

//cookie的相关函数

//读取cookie中指定的内容 function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) endstr = document.cookie.length; return unescape(document.cookie.substring(offset, endstr)); }

function getCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; }

//将浏览动作写入cookie function setCookie (name, value) { var exp = new Date(); exp.setTime (exp.getTime()+3600000000); document.cookie = name + "=" + value + "; expires=" + exp.toGMTString(); }

第3部分:页面显示函数 [code] function history_show() { var history_info=getCookie("history_info"); //取出cookie中的历史记录 var content=""; //定义一个显示变量 if(history_info!=null) { history_arg=history_info.split("_www.achome.cn_"); var i; for(i=0;i<=5;i++) { if(history_arg[i]!="null") { var wlink=history_arg[i].split("+"); content+=("↑"+""+wlink[0]+" "); } document.getElementById("history").innerHTML=content; } } else {document.getElementById("history").innerHTML="对不起,您没有任何浏览纪录";} }

转载于:https://www.cnblogs.com/jie566/p/3234580.html

你可能感兴趣的文章
模板的继承和导入 、自定义函数
查看>>
NYOJ 120校园网络(有向图的强连通分量)(Kosaraju算法)
查看>>
APP:校园网登录app—中小南—源码简析
查看>>
SpringAop与AspectJ
查看>>
4. 开放-封闭原则
查看>>
Leetcode 226: Invert Binary Tree
查看>>
MVC 模板页和布局
查看>>
http站点转https站点教程
查看>>
解决selenium与firefox版本不兼容问题
查看>>
HSQL转化为MR过程
查看>>
Serlvet学习笔记之四—对文件的操作
查看>>
软件测试人员需不需要懂代码
查看>>
解决miner.start() 返回null
查看>>
关于MFC中窗口的销毁
查看>>
bzoj 2007: [Noi2010]海拔【最小割+dijskstra】
查看>>
BZOJ 1001--[BeiJing2006]狼抓兔子(最短路&对偶图)
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>
对于 yii2 高级模板 生成文件入口
查看>>
C语言math.h库函数中atan与atan2的区别
查看>>
Bresenham算法
查看>>