0

我有 reactjs 应用程序,我正在尝试在浏览器关闭时显示警报。但是出现了一些不一致的行为。有时它不会在浏览器刷新时触发警报,但有时会显示警报。以下是我的代码:-

window.onbeforeunload = () => {
    let msg =undefined;
     if (window.performance && performance && performance.navigation.type == 1){

     }
     else{
         msg ='Are you sure?';
     }
    return msg;
};
 window.onunload = () => {
        if (localStorage.getItem('state')) {
            localStorage.removeItem('state');
        }
    }

现在有时它会在浏览器关闭按钮单击时显示警报,但有时它会在没有任何警告的情况下关闭浏览器,还会有一些时间刷新警报即将到来,这在我的场景中是不期望的。我只想在关闭时显示警报浏览器。请帮助我如何处理这种情况。StackOverflow 中也存在许多类似这样的重复问题,但所有答案都是旧的,并且它们没有使用现代浏览器概念。

4

1 回答 1

1

您无法检测到用户是否想要重新加载,或者他们是否想要在window.onbeforeunloadorwindow.onunload事件中更改页面。

API 只告诉您用户如何进入PerformanceNavigation当前页面,而不是他们将如何导航到下一页window.onbeforeunloadwindow.onunload事件。

于 2017-08-30T10:31:26.427 回答