智慧海洋数据建模全链路:从清洗对齐到模型部署避坑指南
2026/10/19 5:45:21
在网页开发中,实现“返回上一页”功能非常常见。JavaScript 提供了多种方式来实现,下面详细介绍三种最常用且可靠的方法,并附带优缺点对比和使用场景。
// 直接返回上一页,等同于点击浏览器“后退”按钮history.back();// 或者history.go(-1);说明:
history.back()和history.go(-1)效果完全相同。示例(按钮点击返回):
<buttononclick="history.back()">返回上一页</button>优点:
缺点:
history.go(-1);// 后退一步// history.go(-2); // 后退两步// history.go(1); // 前进一步说明:
history.go(n)中的 n 是整数,正数前进,负数后退。history.back()完全等价,只是写法不同。使用场景:
if(document.referrer){window.location.href=document.referrer;}else{// 如果没有来源页(比如直接打开),跳转到指定页面window.location.href='/index.html';}说明:
document.referrer返回引发当前页面跳转的上一个页面的 URL(字符串)。location.href实现跳转。完整安全示例:
<buttononclick="goBack()">返回上一页</button><script>functiongoBack(){if(document.referrer&&document.referrer!==window.location.href){window.location.href=document.referrer;}else{// 备选方案:跳转到首页或指定页面window.location.href='/';}}</script>优点:
缺点:
document.referrer会为空。| 方法 | 代码 | 是否模拟浏览器后退 | referrer 是否为空时行为 | 是否保留页面状态 | 推荐度 |
|---|---|---|---|---|---|
| history.back() / go(-1) | history.back() | 是 | 无效(停留在当前页) | 通常保留 | ★★★★★ |
| history.go(-1) | history.go(-1) | 是 | 无效 | 通常保留 | ★★★★★ |
| document.referrer | location.href = referrer | 否(新跳转) | 需要手动处理备选页面 | 不保留 | ★★★ |
history.back():<buttononclick="history.back()">返回</button>functiongoBack(){if(history.length>1){history.back();}else{window.location.href='/';// 跳转到首页}}history.back(),配合路由守卫更优雅。总结:99% 的情况下,直接使用history.back()就是最佳选择,简单可靠,用户体验最好。