首页 > 解决方案 > 当用户以角度 8 刷新页面时显示弹出窗口

问题描述

我想在用户刷新/关闭 Angular 8 选项卡时显示弹出窗口。我使用了 candeactivate gaurd 但它在我更改路线时工作但在我刷新/关闭选项卡时不起作用。有什么方法可以用于刷新,关闭选项卡事件。

标签: angular

解决方案


您可以通过显示默认确认弹出窗口来做到这一点的唯一方法。它将询问用户是否确定要离开并丢弃“不”的更改。这可以通过监听beforeunload 事件来完成。

window.addEventListener('beforeunload', function (e) {
  // Cancel the event
  e.preventDefault(); // If you prevent default behavior in Mozilla Firefox prompt will always be shown
  // Chrome requires returnValue to be set
  e.returnValue = '';
});

您无法自定义消息,因此它将为每个浏览器显示默认消息。


推荐阅读