2017-02-10 6 views
1

Я пишу код для предотвращения случайного выхода из моего веб-приложения.Угловой 2, привязка страницы-события

@HostListener('window:beforeunload', ['$event']) 
leaving($event) { 
    this.router.navigateByUrl('/home'); 
    return false; 
} 

@HostListener('pageshow',['$event']) 
safari(e) { 
    if (e.persisted) { 
     window.location.reload(); 
    } 
} 

Первый beforeunload слушатель работает правильно, предотвращает страницу из осуществляется выход или перезагружается, и обрабатывает крайние случаи, нажав пользователя к дому. Второй pageshow предназначен для обработки случаев, когда пользователь прошел навигацию, и повторно вводит через кнопки «назад/вперед» на сафари, так как он обрабатывает кеширование и навигацию по-разному в Chrome.

Событие pageshow никогда не срабатывает вообще, в любом браузере - я делаю что-то не так с привязкой?

ответ

1

Я думаю, вы подключили окно слушателя: @HostListener('window:pageshow', ['$event'])

Смежные вопросы