我已经看到了几种使用香草JS和jQuery的方法,但是不幸的是,没有一种方法可以解决如何使用Angular解决这一问题。
我不是最有经验的人,但是我正在努力获取某种计时器,当用户单击某个页面时,它会触发计数器,然后当他离开页面时,使用ngOnDestory来停止计数器并发送它到后端以将其存储在数据库中。
如果任何人都可以以最简单的方式提供建议,请告诉我。我读过诸如TimeMe.js
之类的东西,虽然很棒,但不确定如何使用Angular来实现它。还看到了https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload上的窗口事件处理程序。
不重要无关紧要,如果用户不活动或不查看页面,可以在首先解决这个问题后解决,首先我需要计时器来进行一些研究。
非常感谢您的光临。
答案 0 :(得分:4)
您可以像使用ngOnInit和ngOnDestroy一样保存时间戳
ngOnInit (){
this.startTime = Date.now();
}
ngOnDestroy (){
this.endTime = Date.now();
totalTime = this.endTime - this.startTime;
}
然后totalTime将是您可以发送到后端的时间