我具有onbeforeunload函数来检测浏览器窗口的关闭,但是当我关闭它时,它不执行确认功能。 我正在使用角度2。
=TEXT(EOMONTH(TODAY(),-1),"mmmm")
export class AppComponent implements OnInit {
constructor(private router: Router,
private _fireBase: AngularFireDatabase) {
}
ngOnInit() {
this.router.events.subscribe((evt) => {
if (!(evt instanceof NavigationEnd)) {
return;
}
window.scrollTo(0, 0);
});
}
onUnload(event) {
console.log('funciona', event);
confirm('desea salir');
}
}
答案 0 :(得分:0)
您可以通过以下方式进行操作:
@HostListener('window:beforeunload', ['$event'])
doSomething($event) {
$event.returnValue= true;
}
但是请注意,根据MDN
为防止不必要的弹出窗口,除非与页面进行了交互,否则某些浏览器不会显示在beforeunload事件处理程序中创建的提示。而且,有些根本不显示它们。
就我而言,在Chrome上,仅当打开开发者工具控制台(检查模式)时,弹出窗口才会显示。