我的意思是,我想跟踪用户何时离开应用,关闭浏览器或标签页。
组件和指令有一个名为ngOnDestroy的生命周期钩子,当组件被销毁时会被调用,但是当用户离开应用程序时它就会被捕获
import { Component, OnInit } from '@angular/core';
@Component({
moduleId: module.id,
selector: 'app',
templateUrl: 'app.component.html'
})
export class AppComponent implements OnDestroy {
constructor() { }
ngOnDestroy() {
alert(`I'm leaving the app!`);
}
}
如果用户关闭浏览器,则不会执行警报。
答案 0 :(得分:32)
您可以收听此类unload
或beforeunload
事件:
export class AppComponent {
@HostListener('window:unload', [ '$event' ])
unloadHandler(event) {
// ...
}
@HostListener('window:beforeunload', [ '$event' ])
beforeUnloadHander(event) {
// ...
}
}
另见