gpt4 book ai didi

javascript - Angular 捕获所有浏览器的后退按钮事件

转载 作者:行者123 更新时间:2023-12-04 17:10:58 31 4
gpt4 key购买 nike

我正在使用 Angular 创建项目。在我的项目中,我需要处理浏览器后退按钮。要求是当用户点击后退按钮时应该注销

Login Url 不同,dashboard 也不同。

下面是实现

//app.component.ts

@HostListener('window:popstate', ['$event'])
onBrowserBackBtnClose(event: Event) {
history.pushState('back', null, null);
// log out url
}

但是当用户刚登陆仪表板时,上面的代码不起作用

注意:只有当用户正在做一些事件时,如果用户没有做任何事件,事件就不会触发 [chrome]

最佳答案

我不喜欢使用 window:popstate,因为感觉它不应该在 Angular 中使用。监听 popstate 事件的更好方法是订阅位置服务:

import {Location} from "@angular/common";

constructor(private location: Location) { }

ngOnInit() {
this.location.subscribe(event => {
//do something
});
}

一大优点:您可以随时退订。

请记住,与 window:popstate 一样,它不会直接检测您是返回还是返回。它仅在检测到路由参数已更改时触发,当用户点击第四个按钮时也会发生这种情况。

关于javascript - Angular 捕获所有浏览器的后退按钮事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69450806/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com