JS+Ajax+Servlet:记录页面访问时间

本文介绍如何使用前端JavaScript(包括JQuery版本和纯JS版本)记录网页访问时间,并通过Ajax将这些信息发送到服务器端。提供了具体的代码实现,以及服务器端处理这些数据的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前端JS记录页面访问时间

  1.1JQuery版本:

        <script type="text/javascript" src="js/jquery.min.js"></script>
        <script language=JavaScript>
            $(document).ready(function() {
                var vTimeStart;
                var vTimeEnd;
                var vTimeVisit;

                // 进入页面:记录时间
                vTimeStart = new Date();

                $(window).bind("beforeunload", function() {
                    vTimeEnd = new Date();
                    vTimeVisit = vTimeEnd.getSeconds() - vTimeStart.getSeconds();

                    alert(vTimeVisit);

                    // 恶心的360必须有返回值,否则不执行
                    event.returnValue = "访问用时:" + vTimeVisit + "秒";
                    //                    return vTimeVisit +'';
                });
            });
        </script>

  1.2纯JsvaScript版本:

        <script language=JavaScript>
            var vTimeStart;
            var vTimeEnd;
            var vTimeVisit;

            window.onload = function() {
                // 进入页面:记录时间
                vTimeStart = new Date();
            }
            window.onbeforeunload = function() {

                vTimeEnd = new Date();
                vTimeVisit = vTimeEnd.getSeconds() - vTimeStart.getSeconds();
                // 恶心的360必须有返回值,否则不执行
                event.returnValue = "访问用时:" + vTimeVisit + "秒";
                //                    return vTimeVisit +'';
            }
        </script>

 2.Ajax将页面访问时间发送给服务器(JQuery版本)

回调函数不需要,360的返回值也不需要,因为只要服务器有反应就行了

<script type="text/javascript" src="js/jquery.min.js"></script>
<script language=JavaScript>
    $(document).ready(function() {
        var vTimeStart;
        var vTimeEnd;
        var vTimeVisit;

        // 进入页面:记录时间
        vTimeStart = new Date();

        $(window).bind("beforeunload", function() {
            vTimeEnd = new Date();
            vTimeVisit = vTimeEnd.getSeconds() - vTimeStart.getSeconds();

            // 将用户行为发送给服务器
            $.post("ConductCollectServlet", {
                visittime : vTimeVisit,
            });
        });
    });
</script>

服务器端新建ConductCollectServlet.java

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("收集Servlet:Post");
        // 页面访问时间
        String strVisitTime =request.getParameter("visittime");
        System.out.println(strVisitTime);
    }

 

转载于:https://www.cnblogs.com/AndyHoo/p/6504503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值