При добавлении слушателя в объект глобального окна для события beforeunload IE 11 не работает как Chrome и Firefox.
Это используется с Angular "ngForm", когда форма грязная и не отправлена, тогда пользователь попытается щелкнуть по другому компоненту (маршрутизация), появится всплывающее диалоговое окно с предупреждением. Если пользователь не изменяет форму, он не будет отображать диалоговое окно с собственным браузером.
Однако в IE, даже если пользователь не изменил форму, а затем попытался перейти к другому компоненту, все равно всплыло диалоговое окно с предупреждением.
Я не уверен, потому что окно: beforeunload в IE будет выгружать страницу каждый раз, когда вы переходите к другому компоненту?
@HostListener('window:beforeunload')
canDeactivate(): boolean {
return !this.form.dirty || this.form.submitted;
}