首页 > 解决方案 > 是否可以使用 popstate 仅定位浏览器后退按钮?

问题描述

我试图在使用浏览器后退按钮保存更改时提醒用户。我目前正在使用“popstate”事件侦听器,效果很好,但是一旦用户确认消息说他们即将离开页面,如果他们按下浏览器前进箭头,他们就会看到相同的确认消息具有误导性。

有没有办法只在浏览器的后退按钮上使用它?

下面找到我当前的代码(我也为此使用 React 钩子)

谢谢!

<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>

  useEffect(() => {
    window.addEventListener('popstate', function (event) {
      if (event.state) {
        confirm("Do you want to leave this page?");
      }
    }, false);
  }, [])

标签: javascriptreactjshtml5-historypopstate

解决方案


推荐阅读