最近浏览记录

 项目中要使用到保存最近浏览的历史记录的需求,使用cookie做了一份,备用。

function writeCookie(obj, arylength) {
    var history = $.cookie("project_history");
//        $.cookie("project_history",null)
    var projectId = $("#" + $(obj).prev().attr("id")).val().toLowerCase();
    var projectName = $(obj).html().Trim();

    if (history != null && history != "undefined") {
        var newhistory = "";
        var sethistory = "";
        var strArray = history.split('|');

        //判断是否存在相同的ID,如果存在,则将点击的条目放到第一位,否则添加新纪录
        if (history.indexOf(projectId) == -1) {
            //判断数组长度是否小于显示条数
            if (strArray.length > arylength) {
                for (var i = arylength; i < strArray.length; i++) {
                    //清除多余的数据,从满足条数的后一条数据开始移除
                    strArray.splice(i);
                }
                //重新组合历史数据
                for (var m = 0; m < strArray.length; m++) {
                    sethistory = sethistory + strArray[m] + "|";
                }
                sethistory = sethistory.substring(0, sethistory.length - 1);
            }
            else {
                sethistory = history;
            }
            newhistory = projectId + "#" + projectName + "|" + sethistory;
        }
        else {
            //移除掉点击的项目
            var index = 0;
            for (var x = 0; x < strArray.length; x++) {
                var equalItem = projectId + "#" + projectName;
                if (equalItem == strArray[x]) {
                    strArray.splice(x);
                    break;
                }
            }
            //重新组合历史数据
            for (var m = 0; m < strArray.length; m++) {
                sethistory = sethistory + strArray[m] + "|";
            }
            sethistory = sethistory.substring(0, sethistory.length - 1);
            newhistory = projectId + "#" + projectName + "|" + sethistory;
        }
        $.cookie("project_history", newhistory);
    }
    else {
        $.cookie("project_history", projectId + "#" + projectName);
    }
}

function createHistoryList(url,container) {
    var str = new Array(); 
    var historyList = $.cookie("project_history");
    if (historyList != null && historyList != "undefined") {
        str = historyList.split('|');
        var trHtml = "";
        for (var i = 0; i < str.length; i++) {
            trHtml += "<tr><td><a href='" + url + str[i].split('#')[0] + "' target='_blank'>" + str[i].split('#')[1] + "</a></td></tr>";
        }
        var tableHtml = "<table class='grgz_tab001'>" + trHtml + "</table>";
        $("#" + container).html(tableHtml);
    }
}


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现浏览记录可以使用Spring Boot提供的Session来存储用户的浏览记录。下面是具体的实现步骤: 1. 首先需要在Spring Boot中启用Session支持,可以在application.properties文件中添加如下配置: ``` spring.session.store-type=redis # 使用redis存储session spring.session.redis.namespace=your_namespace # redis中的命名空间,避免key冲突 ``` 2. 在需要记录浏览记录的Controller中,添加如下代码: ``` @GetMapping("/product/{id}") public String getProduct(@PathVariable String id, HttpSession session) { // 获取当前商品的信息 Product product = productService.getProductById(id); // 获取当前用户的浏览记录列表 List<Product> history = (List<Product>) session.getAttribute("history"); if (history == null) { history = new ArrayList<>(); session.setAttribute("history", history); } // 将当前商品添加到浏览记录列表中 if (!history.contains(product)) { history.add(product); } // 返回商品详情页 return "product_detail"; } ``` 这段代码会在用户访问商品详情页时,将当前商品添加到用户的浏览记录列表中,并将列表存储在Session中。 3. 在需要展示用户浏览记录的页面中,添加如下代码: ``` <h2>浏览记录</h2> <ul> <#list history as product> <li>${product.name}</li> </#list> </ul> ``` 这段代码会从Session中获取用户的浏览记录列表,并展示在页面上。 这样就可以实现基本的浏览记录功能了。需要注意的是,Session中存储的数据会随着用户关闭浏览器或过期而失效,因此需要根据实际需求进行调整。同时,Session中存储的数据也可以使用其他存储方式,如数据库或缓存等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值