【发布时间】:2019-02-19 17:27:07
【问题描述】:
我想在用户离开页面之前显示一个确认框并警告用户,尤其是在 HTTP 请求期间。为此,我在我的 react 组件中为 window 对象添加了一个事件监听器。
componentWillMount() {
window.addEventListener('beforeunload', this.handleBeforeUnload);
}
componentWillUnmount() {
window.addEventListener('beforeunload', this.handleBeforeUnload);
}
handleBeforeUnload(e) {
e.returnValue = 'You sure you want to leave?';
}
这个 sn-p 有效,让我们的生活更轻松,但有一件事激起了我的好奇心。
我看到确认框,只有当我在加载后点击页面。 它不显示浏览器原生的确认框,虽然它触发了handleBeforeUnload方法。
有人可以解释一下,为什么 window.onbeforeunload 只有在我关注页面时才有效?
【问题讨论】:
标签: javascript web frontend