Angular4:处理浏览器刷新/关闭事件

时间:2018-07-24 08:36:57

标签: javascript angular

在我的Angular4应用程序中,我想处理浏览器刷新事件。刷新后,我想弹出确认警报,一旦按OK,就想做一些动作(调用一些api调用)。我在下面尝试过。

    // imports'

    @Component({
      selector: 'app-root',
      templateUrl: './app.component.html',
      styleUrls: ['./app.component.css']
    })
    export class AppComponent {
      @HostListener("window:beforeunload", ["$event"]) unloadHandler(event: Event) {
        console.log("Processing beforeunload...");
        event.returnValue = true;
      }

      constructor() {
      }

    }

现在我可以在下面按键盘上的F5键。但是我想显示确认警报并按“确定”按钮执行一些操作。

enter image description here

我想弹出自定义对话框,询问用户某些问题(例如:“这将释放您打开的每一个预订的锁。您要继续吗?”),一旦用户单击“确定”按钮,就想打电话给我一些api调用。

任何建议都值得赞赏。

谢谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下,显示“您所做的更改可能不会保存”对话框是Web浏览器唯一允许的操作,因此无法进行任何进一步的操作。

使用Internet Explorer,您可以将EditText设置为一个字符串值,该字符串将显示给用户,以鼓励他们不要重新加载/离开,但Chrome会忽略它并始终显示相同的消息。