You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用原生JavaScript在点击浏览器返回按钮时重定向页面?

实现点击浏览器返回按钮时重定向页面

你的代码存在几个关键问题,导致无法实现需求:

  • setTimeout(prev(), 0) 里直接执行了prev()函数,而非将函数作为回调传入,正确写法是setTimeout(prev, 0),但即便修正,这个逻辑也和监听返回按钮无关。
  • window.history.forward() 和window.location.href同时调用逻辑冲突,而且这部分代码没有监听返回操作的逻辑。
  • window.onunload = function() { null } 是空函数,无法起到任何作用。

要实现点击浏览器返回按钮时重定向页面,正确的做法是监听popstate事件——浏览器前进/后退操作会触发这个事件。以下是可行的原生JS实现:

// 页面加载时新增一条当前页面的历史记录,避免首次加载时的popstate触发误跳转
window.history.pushState({ page: 'current' }, '', window.location.href);

// 监听popstate事件
window.addEventListener('popstate', function() {
    // 触发返回操作时,重定向到目标页面(注意使用完整URL)
    window.location.href = 'https://www.google.com';
});

关键说明:

  • 使用history.pushState添加历史记录条目,确保用户点击返回时会触发popstate事件,而不是直接跳转到上一个页面。
  • 重定向的URL必须是完整的(包含http/https),否则会被当作当前域名下的相对路径处理。
  • 部分浏览器在页面首次加载时也会触发popstate事件,添加初始历史记录可以避免这种情况下的误跳转。

内容的提问来源于stack exchange,提问作者Omoniyi Nelson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 05:25:37