0

以下网页(我们称之为 test.html)在 Safari、Firefox 和 Chrome 中的行为不同。这个问题特别涉及它在 Chrome 中的行为。

<html>
  <body style="height: 200vh">
    <script>
      window.addEventListener('scroll', () => window.location.href = 'https://www.google.com')
    </script>
  </body>
</html>

如果我从一个空选项卡开始,转到 test.html,滚动并触发重新路由到 google.com,然后单击返回按钮,我将被发送到空选项卡页 - 即使 test.html 在如果单击并按住后退按钮,则历史记录。前进按钮也跳过它。

我尝试了一些方法,包括将侦听器更改为“wheel”,使用 onbeforeunload 重置滚动位置,以及使用布尔标志确保重新路由只被调用一次。

对这里发生的事情有任何了解吗?这是 Chrome 错误,还是按预期工作?

4

0 回答 0