在我的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键。但是我想显示确认警报并按“确定”按钮执行一些操作。
我想弹出自定义对话框,询问用户某些问题(例如:“这将释放您打开的每一个预订的锁。您要继续吗?”),一旦用户单击“确定”按钮,就想打电话给我一些api调用。
任何建议都值得赞赏。
谢谢。
答案 0 :(得分:0)
在这种情况下,显示“您所做的更改可能不会保存”对话框是Web浏览器唯一允许的操作,因此无法进行任何进一步的操作。
使用Internet Explorer,您可以将EditText
设置为一个字符串值,该字符串将显示给用户,以鼓励他们不要重新加载/离开,但Chrome会忽略它并始终显示相同的消息。