javascript - 需要计算 AngularJS 中 PageLoad 和单击下一页之间的持续时间

标签 javascript angularjs

我是 AngularJS 的新手,我想编写一个简单的函数来计算用户从页面加载到单击“下一步”按钮在页面上花费的秒数。所以,基本上我需要知道用户在每个页面上花费了多少时间。谁能帮我用 AngularJS 编写这个函数?

最佳答案

将其放入定义应用程序的 app.js 文件中。为此,您需要注入(inject) $location 并向“$locationChangeStart”添加监听器。剩下的只是做一些数学计算和记录。我添加了额外的代码,以便仅在页面打开时间超过 0.02 时记录。我相信 Angular 正在做一些正在记录日志的路由。因此,要反复试验日志记录。 使用这种方法更干净,因为您不需要将其放入所有 Controller 中。

var mainApp = angular.module('mainApp', [.....]);
mainApp.run(function ($rootScope, $location) {
    $rootScope.currentPage = "";
    $rootScope.pageLoadedTime = "";

    $rootScope.$on('$locationChangeStart', function (event) {

        if ($rootScope.currentPage != "") {
            var seconds = (new Date().getTime() - $rootScope.pageLoadedTime.getTime()) / 1000;
            if (seconds > .02)
                console.log("Page: ", $rootScope.currentPage, " Seconds spent on page : ", seconds);
        }

        $rootScope.pageLoadedTime = new Date();
        $rootScope.currentPage = $location.url();
    });
});

关于javascript - 需要计算 AngularJS 中 PageLoad 和单击下一页之间的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26593787/

相关文章:

javascript - 使用 oauth.io 时 Facebook 分享和点赞的问题

javascript - 如何使用 AngularJS 根据下拉列表中的选定值显示元素

javascript - Angular-UI Datepicker 最小日期设置与另一个日期

javascript提示多个变量

javascript - 在 Dynamics CRM 2016 中使用 JavaScript 启动工作流程

javascript - Postgres 更改顺序

javascript - 如何使用格式 SI 前缀四舍五入到小数点后两位?

html - angularjs 中的 html5Mode 问题

javascript - 无法读取 Node js中传入请求的数据

angularjs - JHipster 中使用 Thymeleaf 和 A​​ngular 的服务器/客户端路由