2016-06-05 14 views
8

Bir kullanıcının uygulamayı ne zaman bıraktığını, tarayıcıyı veya sekmeleri kapattığını izlemek istiyorum. ,Kullanıcı tarayıcıyı kapattığında nasıl tespit edebiliriz?

Bileşenler ve Direktifleri bileşen yok edilir çağrılan ngOnDestroy adlı bir yaşam döngüsü kanca vardır, ancak kullanıcı tarayıcıyı kapattığı takdirde kullanıcı uygulamasını mı

import { Component, OnInit } from '@angular/core'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app', 
    templateUrl: 'app.component.html' 
}) 
export class AppComponent implements OnDestroy { 
    constructor() { } 

    ngOnDestroy() { 
     alert(`I'm leaving the app!`); 
    } 

} 

ayrıldığında o yakalayamazsın uyarı yürütülmedi.

cevap

16

Böyle unload veya beforeunload olayları dinleyebilirsiniz: Ayrıca

+0

o po olduğunu

export class AppComponent { @HostListener('window:unload', [ '$event' ]) unloadHandler(event) { // ... } @HostListener('window:beforeunload', [ '$event' ]) beforeUnloadHander(event) { // ... } } 

See sadece sekme/tarayıcıyı kapatmak için ssible. – CTN

+0

AFAIK sadece "boşaltma" ve "önceki yükleme" var. Daha fazla bilgi almak için bazı hileler ya da korsanlıklar olabilir, ama hakkında hiçbir bilgim yok. –

+0

Herhangi bir kaynak bulursanız beni bilgilendirin. Hızlı yanıt için teşekkürler. :) – CTN

İlgili konular