在实现“松散未保存的更改”确认对话框时,您通常使用 window.onbeforeunload
向用户显示默认提示
window.addEventListener('beforeunload', e => {
if (this.mustPromptUser()) {
e.returnValue = '';
e.preventDefault();
}
});
该提示因浏览器而异 - 它具有不同的消息和按钮标签。而且,当用户刷新页面并导航到不同的 URL 时,它是不同的。
现在,也必须考虑 Angular 应用程序的内部路由。那是通过守卫完成的。但是,我想做的是使用完全相同的浏览器默认对话框。有没有办法显示默认的确认提示?
如果没有,我将不得不对 Chrome、FF、IE 等的消息和按钮标签进行硬编码,并使其具有平台敏感性 - 我显然不想这样做。