1
私は、私のWebアプリケーションからの偶発的な終了を防ぐためのコードを書いています。角2、バインディングpageshowイベント
@HostListener('window:beforeunload', ['$event'])
leaving($event) {
this.router.navigateByUrl('/home');
return false;
}
@HostListener('pageshow',['$event'])
safari(e) {
if (e.persisted) {
window.location.reload();
}
}
最初beforeunload
リスナーが正しく動作し、終了したり再ロードされてからページを防ぎ、自宅にユーザーを押して、エッジケースを処理します。 2番目のpageshow
は、ユーザーがナビゲートした場合を処理し、Safariのバック/フォワードボタンを使用して再入力します。これは、Chromeとは異なるキャッシングとナビゲーションを処理するためです。
イベントは決して発生しません。いずれのブラウザでも、私はバインディングに何か問題がありますか?