angular4中的浏览器关闭事件
Posted
技术标签:
【中文标题】angular4中的浏览器关闭事件【英文标题】:Browser Close Event in angular4 【发布时间】:2018-02-10 02:56:05 【问题描述】:如何在 Angular 4.0.2 中检测浏览器关闭事件
我试过了
@HostListener('window:unload', ['$event'])
unloadHandler(event)
...
@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event)
...
但不适合我。谁能帮我吗。如果我刷新页面,则此事件也会触发
Angular2/4 中需要单独的浏览器关闭事件
【问题讨论】:
看这里:***.com/questions/35922071/… 【参考方案1】:如果你想关闭事件弹窗,你需要设置 $event.returnValue
Inside component
@HostListener('window:beforeunload', ['$event'])
public beforeunloadHandler($event)
$event.returnValue = "Are you sure?";
【讨论】:
我想从本地存储中清除令牌,我使用了上述方法,但是即使我刷新页面,它也会从本地存储中删除令牌。 window:beforeunload 是的,这个事件对于刷新和关闭很常见,它不包含任何相关信息来区分刷新和关闭 根据我的研究,角度没有任何东西可以处理浏览器关闭事件,您可以使用 ngOnDestroy(): void //您要清理的代码行 ,但我认为 window:beforeunload 是在你的情况下更有用。 唯一能做的事,绑定按键事件监听器并根据f5键码true/false设置标志,如果为false则不发送event.returnValue。 即使浏览器的标签页关闭也会触发该事件。是否有任何生命周期钩子只有在整个浏览器关闭时才会触发以上是关于angular4中的浏览器关闭事件的主要内容,如果未能解决你的问题,请参考以下文章
对于给定的浏览器,我如何确定哪些元素支持哪些事件? [关闭]
如何用JS捕捉 浏览器关闭事件,我想在浏览器关闭的时候记录一些日志。要兼容Firefox和IE 6、7、8 !3Q....