在卸载对话框之前替代或替代控制浏览器控件(刷新,后退按钮,关闭等)

时间:2018-06-21 10:53:51

标签: javascript reactjs react-router

当前,我已经实现了对应用程序中脏检查的控制,并且一切都按预期工作,但是按照公司标准,当用户尝试刷新/关闭浏览器时,我不想显示浏览器对话框。我已经尝试了很少的帖子,但没有任何帮助。

任何人都可以建议我如何覆盖onbeforeunload对话框或任何其他方法来控制浏览器的刷新和关闭。

下面是我当前的实现,并且工作正常。

componentDidMount() {
  window.addEventListener('beforeunload', e => this.handleWindowEvent(e));
}

componentWillUnmount() {
  window.removeEventListener('beforeunload', e => this.handleWindowEvent(e));
}

handleWindowEvent() {
  if (dirtyCheck) {
    const isChanged = event.returnValue = 'Custom message';
    return isChanged;
  }
  delete event.returnValue;
  return;
}

现在,我想覆盖unbeforeunload对话框,或者我想找到另一种方法来检查dirtyData检查,以向用户显示适当的消息以显示标准对话框。

谢谢, Ravikiran V

0 个答案:

没有答案