javascript - Angular4:处理浏览器刷新/关闭事件
问题描述
在我的 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。但我想显示确认警报并在按下 OK 按钮时执行一些操作。
我想从用户那里弹出自定义对话框询问一些事情(例如:'这将释放你打开的每个预订的锁定。你想继续吗?')一旦用户点击 OK 按钮想要调用一些 api 调用.
任何建议表示赞赏。
谢谢你。
解决方案
显示“您所做的更改可能无法保存”对话框是这种情况下 Web 浏览器允许的唯一操作,因此无法执行任何进一步的操作。
使用 Internet Explorer,您可以设置event.returnValue
一个字符串值,该字符串将显示给用户,以鼓励他们不要重新加载/离开,但 Chrome 会忽略它并始终显示相同的消息。
推荐阅读
- photoshop-script - 如何在根中选择图层?
- python - 从 RAM 中删除变量
- javascript - Google Charts DataTable 上的动态列数
- shell - 从脚本传递的 Beeline/Hive2 变量被截断
- elixir - 存储计算列以在 order_by 中使用并选择
- angular - 为什么动画在 Angular 5 应用程序中不起作用?
- javascript - 如何仅使用 JavaScript 正确读取 json 文件
- java - 在 Retrofit 2 日志中过滤敏感的 json 字段
- oop - 前置条件方法应该是公共的还是私有的?
- windows - 从cmd中变量的开头删除空格