在Angular4中关闭浏览器窗口上的方法

时间:2018-03-09 09:08:02

标签: angular angular4-httpclient

我正在Angular4项目中工作,在此我需要在用户关闭浏览器窗口时将日期和时间传递给API。 可能吗 ? 如果可能意味着如何实施它??

现在我在页面加载时将日期和时间传递给API ....

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { DatePipe } from '@angular/common';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})

export class AppComponent implements OnInit{
    today = Date.now();
    fixedTimezone =this.today;
    res : string;

    constructor(private http: HttpClient) {}

    ngOnInit() {
        this.http.get('http://freegeoip.net/json/?callback')
                 .subscribe(
                    data => this.saveIP(data['ip']),
                    error => console.error(error)
                 );
    }

     saveIP(address: string) {
        this.http.get(`http://localhost:57036/api/data/GetClientIp/?IP_Address=${address}&Time=${this.fixedTimezone}`)
                 .subscribe(data => this.res = data['']);
    }

}

就像我想在页面关闭时传递日期和时间的方式....

...谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用@HostListener收听beforeunload事件。遗憾的是,我们无法保证您的请求将被调用。

@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event) {
  // make request to API
}