javascript技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript技巧 > JavaScript返回到上一页

JavaScript实现返回到上一页的三种方法

作者:AI老李

在网页开发中,实现返回上一页功能非常常见,JavaScript 提供了多种方式来实现,下面详细介绍三种最常用且可靠的方法,并附带优缺点对比和使用场景,需要的朋友可以参考下

JavaScript 返回到上一页的三种常用方法

在网页开发中,实现“返回上一页”功能非常常见。JavaScript 提供了多种方式来实现,下面详细介绍三种最常用且可靠的方法,并附带优缺点对比和使用场景。

方法一:history.back()(最常用,推荐)

// 直接返回上一页,等同于点击浏览器“后退”按钮
history.back();

// 或者
history.go(-1);

说明

示例(按钮点击返回):

<button onclick="history.back()">返回上一页</button>

优点

缺点

方法二:history.go(-1)(等同于 back)

history.go(-1);  // 后退一步
// history.go(-2); // 后退两步
// history.go(1);  // 前进一步

说明

使用场景

方法三:window.location.href = document.referrer(根据来源页跳转)

if (document.referrer) {
    window.location.href = document.referrer;
} else {
    // 如果没有来源页(比如直接打开),跳转到指定页面
    window.location.href = '/index.html';
}

说明

完整安全示例

<button onclick="goBack()">返回上一页</button>

<script>
function goBack() {
    if (document.referrer && document.referrer !== window.location.href) {
        window.location.href = document.referrer;
    } else {
        // 备选方案:跳转到首页或指定页面
        window.location.href = '/';
    }
}
</script>

优点

缺点

三种方法对比总结

方法代码是否模拟浏览器后退referrer 是否为空时行为是否保留页面状态推荐度
history.back() / go(-1)history.back()无效(停留在当前页)通常保留★★★★★
history.go(-1)history.go(-1)无效通常保留★★★★★
document.referrerlocation.href = referrer否(新跳转)需要手动处理备选页面不保留★★★

最佳实践建议

大多数场景优先使用 history.back()

<button onclick="history.back()">返回</button>

需要兼容无来源页的情况,结合 referrer:

function goBack() {
    if (history.length > 1) {
        history.back();
    } else {
        window.location.href = '/'; // 跳转到首页
    }
}
  1. 移动端或单页应用(Vue/React) 中常用 history.back(),配合路由守卫更优雅。

总结:99% 的情况下,直接使用 history.back() 就是最佳选择,简单可靠,用户体验最好。

到此这篇关于JavaScript实现返回到上一页的三种方法的文章就介绍到这了,更多相关JavaScript返回到上一页内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文