`

cookie的浏览记录功能

阅读更多

cookie的浏览记录功能

script:

/**********************
function : oCookieRecord
author : Der [http://hi.baidu.com/jasyyy]
lastodify : 2010-04-22
***********************/

//setCookie
function setCookie(name, value, days, path, domain, secure) {
        var sCookie = name + "=" + encodeURIComponent(value);
        if (days) {
                var _exp = new Date();
                _exp.setTime(_exp.getTime() + days * 24 * 60 * 60 * 1000);
                sCookie += "; expires=" + _exp.toGMTString();
        }
        if (path) {
                sCookie += "; path=" + path;
        } else {
                sCookie += "; path=/";
        }
        if (domain) {
                sCookie += "; domain=" + domain;
        }
        if (secure) {
                sCookie += "; secure=";
        }
        document.cookie = sCookie;
}

//getCookie
function getCookie(name) {
        var sRE = "(?:; )?" + name + "=([^;]*);?";
        var oRE = new RegExp(sRE);
        return (oRE.test(document.cookie)) ? decodeURIComponent(RegExp["$1"]) : null;
}

//delCookie
function delCookie(name, path) {
        setCookie(name, "", -1, path);
}

//CookieRecord
var oCookieRecord = new Object();
//setCookieRecord
oCookieRecord.set = function(oParam) {
        //配置参数
        var sTitleFilter = oParam.sTitleFilter,
        // title内容后缀筛选
        sRecordListId = oParam.sRecordListId,
        //浏览记录id
        sRecordListTagName = oParam.sRecordListTagName,
        //浏览记录标签名
        nRecordListLength = oParam.nRecordListLength,
        //浏览记录限制条数
        nExpires = oParam.nExpires,
        //cookie保留天数
        sCookiePath = oParam.sCookiePath,
        //限制cookie访问路径
        sDomain = oParam.sDomain,
        //限制cookie域
        bSecure = oParam.bSecure; //限制cookie是否为安全网站访问
        //参数默认值设置

        if (!sCookiePath) {
                sCookiePath = "/";
        }

        //setCookie record
        var path = window.location.pathname.split("/");
        var pathN = path[path.length - 1].split(".")[0];

        //筛选带逗号的同一篇文章
        if (pathN.indexOf(",") > -1) {
                pathN = pathN.slice(0, pathN.indexOf(","));
        }
        var articleTitle = document.title;

        //title后缀筛选
        if (sTitleFilter && sTitleFilter != "") {
                var tIndex = articleTitle.indexOf(sTitleFilter);
                if (tIndex > -1) {
                        var tLen = sTitleFilter.length;
                        var aLen = articleTitle.length;
                        articleTitle = articleTitle.slice(0, tIndex) + articleTitle.slice(tIndex + tLen, aLen);
                }
        }
        var sValue = location.href + "^_^" + articleTitle;
        setCookie(pathN, sValue, nExpires, sCookiePath, sDomain, bSecure);

        //getRecordList
        var oCookieList = decodeURIComponent(document.cookie).split(";");
        var cookieList = [];
        var oFragment = document.createDocumentFragment();

        //筛选其他地方创建的cookie
        for (var i = 0,
        len = oCookieList.length; i < len; i++) {
                if (oCookieList[i].split("=")[1].indexOf("^_^") > -1) {
                        cookieList.unshift(oCookieList.slice(i, i + 1).toString());
                }
        }

        //cookie数超出删除
        var len = cookieList.length;
        if (len > nRecordListLength) {
                for (var i = len - 1; i > nRecordListLength - 1; i--) {
                        delCookie(cookieList[i].split("=")[0], sCookiePath);
                        cookieList.pop();
                }
        }

        // 浏览记录填充
        for (var i = 0; i < cookieList.length; i++) {
                //creat tag
                var aCookie = cookieList[i].split("=")[1].split("^_^");
                var aCookieLen = aCookie.length;
                var aLink = aCookie[0];
                var aTitle = "";

                //筛选符号^_^
                if (aCookieLen > 2) {
                        for (var j = 1; j < aCookieLen; j++) {
                                if (j < aCookieLen - 1) {
                                        aTitle += aCookie[j] + "^_^";
                                } else {
                                        aTitle += aCookie[j];
                                }
                        }
                } else {
                        aTitle = aCookie[1];
                }

                //
                var aListTag = document.createElement(sRecordListTagName);
                var a = document.createElement("a");
                var aText = document.createTextNode(aTitle);

                //append tag
                a.setAttribute("href", aLink);
                a.setAttribute("target", "_blank");
                a.appendChild(aText);
                aListTag.appendChild(a);
                oFragment.appendChild(aListTag);
        }
        document.getElementById(sRecordListId).innerHTML = "";
        document.getElementById(sRecordListId).appendChild(oFragment);
}

//delCookieRecord
oCookieRecord.del = function(sRecordListId) {
        if (document.cookie != "") {
                //清空cookie
                var cookieList = decodeURIComponent(document.cookie).split(";");
                for (var i = 0,
                len = cookieList.length; i < len; i++) {
                        if (cookieList[i].split("=")[1].indexOf("^_^") > -1) {
                                delCookie(cookieList[i].split("=")[0]);
                        }
                }
        }

        //清空记录
        document.getElementById(sRecordListId).innerHTML = "";
}

 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>90后美女销魂自拍扮可爱 玉体横陈遭骂xxx名</title>
<script type="text/javascript" src="cookie.js"></script>
</head>
<body>
<div style=" margin-bottom:20px;"><a href="test1.html">test1.html</a> | 
<a href="//localhost:8888/test_json/test2.html">test2.html</a> | 
<a href="//localhost:8888/test_json/test3.html">test3.html</a> | <a href="test4.html">test4.html</a> <a href="test3,1.html">test3,1.html</a> | <a href="test3,2.html">test3,2.html</a> | </div>
<div class="record" >
        <h3>浏览记录</h3>
        <ul id="recordList">
        </ul>
        <script type="text/javascript">
//设置浏览记录[配置参数]
oCookieRecord.set({
        sTitleFilter:"- 米拉网 - 每天都有新看点WWW.33669.COM", // title内容后缀筛选
        sRecordListId:"recordList", //浏览记录id
        sRecordListTagName:"li", //浏览记录标签名
        nRecordListLength:3, //浏览记录限制条数
        nExpires:1 //cookie保留天数
});
</script>
        <p style="cursor:pointer" onclick='oCookieRecord.del("recordList")'>清除记录</p>
</div>
</body>
</html>
转载:http://www.ueder.net/2010/04/22/%E5%9F%BA%E4%BA%8Ecookie%E7%9A%84%E6%B5%8F%E8%A7%88%E8%AE%B0%E5%BD%95%E5%8A%9F%E8%83%BD/
分享到:
评论

相关推荐

    使用Cookie实现商品的浏览记录功能

    使用cookie机制实现商品的浏览历史记录功能 主要的实现思路就是通过每次点击商品查看信息的时候 传递一个商品编号 然后保存在cookie中 然后从cookie中取出来 去数据库执行相关的查询操作 之后再到页面上进行显示就ok...

    cookie实现商品浏览记录

    本文将详细讲解如何使用Cookie来实现商品浏览记录的功能。 首先,理解Cookie的基本概念。Cookie是由服务器端生成,发送到浏览器并存储在本地的一种数据,每当用户访问同一服务器时,这些Cookie信息会被一同发送回...

    Servlet实现历史记录功能(浏览记录)

    本教程将深入探讨如何使用Servlet实现一个历史记录功能,即浏览记录,让用户能够查看他们之前访问过的页面。 首先,理解Servlet的基本概念是至关重要的。Servlet是一个Java类,遵循Java Servlet API规范,它可以...

    cookie 实现显示商品的浏览的历史记录

    在压缩包中的“servlet实现显示曾经的浏览记录”文件,很可能是包含了实现上述功能的Servlet代码和相关的JSP页面。通过分析这些代码,我们可以更深入地理解如何将理论应用到实际项目中。在实际开发中,通常会结合...

    Cookie_显示浏览历史

    总结来说,Cookie显示浏览历史是一种常见且实用的Web应用程序功能,它利用Cookie的特性来跟踪和展示用户的行为。结合Session,可以提供更稳定和安全的用户体验。然而,开发人员需要注意Cookie和Session的使用策略,...

    使用cookies显示商品浏览记录

    在IT行业中,尤其是在Web开发领域,使用cookies来追踪和显示用户商品浏览记录是一种常见的实践。本文将深入探讨这个主题,帮助你理解如何利用cookies技术来实现这一功能。 首先,我们来了解一下什么是cookies。...

    最近浏览记录(Cookies)

    现在,我们来详细探讨Cookies的工作原理以及如何实现类似迅雷看看的浏览记录功能。 **1. Cookies的基本概念** Cookies是Web应用程序用来跟踪用户状态的一种机制。当用户访问一个网站时,服务器可以将一个或多个...

    重新设置IE浏览器开启COOKIE功能

    **重新设置IE浏览器开启COOKIE功能详解** 在互联网的日常使用中,Cookie是一种至关重要的技术,它用于存储用户在浏览网站时的临时或持久性信息。这些信息可能包括登录凭据、个性化设置或购物车内容等。然而,由于...

    Express中cookie例子:实现记录浏览过的城市名称

    通过设置和读取Cookie,我们可以实现跟踪用户状态、记录浏览历史等功能。在实际应用中,我们还需要考虑Cookie的安全性,如设置适当的过期时间、使用HTTPS等。这个简单的例子展示了如何在Express中使用Cookie,希望对...

    js操作cookie保存浏览记录的方法

    本文实例讲述了js操作cookie保存浏览记录的方法。分享给大家供大家参考,具体如下: 说明:最近做了一个功能,记录用户浏览过的产品页面。我的思路是,客户每次进入产品页面,就自己调用JS把产品信息以json的形式...

    jsp通过cookie实现网页记录

    要实现网页记录功能,我们可以按照以下步骤操作: 1. **创建Cookie**:当用户访问特定页面时,JSP代码可以创建一个新的Cookie对象,包含页面URL作为其值。例如: ```java Cookie historyCookie = new Cookie(...

    c# winform 火狐浏览器 查看cookie

    在C# WinForm应用中,实现火狐浏览器的Cookie查看功能涉及到对Firefox浏览器存储Cookie的方式以及如何用C#代码操作这些数据的理解。火狐浏览器使用SQLite数据库来存储用户浏览历史、书签、密码以及Cookie等信息。...

    万能库克,谷歌浏览器通用缓存cookie提取下载软件

    "万能库克,谷歌浏览器通用缓存cookie提取下载软件" 这个标题揭示了软件的主要功能,即它是一个适用于谷歌浏览器(Chrome)的工具,能够提取并下载用户在浏览不同网站时生成的cookie数据。Cookie是网站在用户浏览器...

    JavaWeb 中Cookie实现记住密码的功能示例

    1. **跟踪用户行为**:Cookie帮助网站记录用户的访问频率、停留时间等,有助于分析用户行为和网站流量。 2. **个性化服务**:通过Cookie,网站可以提供定制化的用户体验,如根据用户喜好显示内容或推荐产品。 3. **...

    易语言取设cookie

    Cookie是在HTTP协议下,服务器发送到用户浏览器并保存在本地的一小块数据,它用于记录用户的浏览历史、登录状态等信息。在易语言中,处理Cookie主要有两个关键函数:`InternetSetCookieA` 和 `InternetGetCookieA`。...

    用Cookie实现web网站的浏览过的内容,通俗易懂

    通过这种方式,服务器可以识别和跟踪用户,实现诸如会话管理、个性化设置、浏览历史记录等功能。 **Cookie的创建与发送** 1. **Set-Cookie响应头**:服务器在HTTP响应中通过Set-Cookie头部向浏览器发送Cookie。例如...

    cookie实例

    **标题解析:** "Cookie实例" 这个标题暗示了我们将深入探讨...通过学习这个案例,初学者可以理解Cookie的基本用法,以及如何利用Cookie实现自动登录和浏览记录功能,同时了解到在实际开发中考虑的一些安全和性能问题。

    ie浏览器cookie管理 查看删除修改等操作

    当用户再次访问同一网站时,浏览器会自动将Cookie回传给服务器,以便识别用户身份、保持登录状态、记录浏览偏好等。Cookie主要分为会话Cookie和持久Cookie,前者在浏览器关闭后自动删除,后者则设定过期时间,可以...

Global site tag (gtag.js) - Google Analytics