2026/4/5 6:08:44
网站建设
项目流程
兖州网站建设,山东春季高考网站建设,广告效果图用什么软件做,多渠道营销平台与crmJavaScript 返回到上一页的三种常用方法
在网页开发中#xff0c;实现“返回上一页”功能非常常见。JavaScript 提供了多种方式来实现#xff0c;下面详细介绍三种最常用且可靠的方法#xff0c;并附带优缺点对比和使用场景。
方法一#xff1a;history.back()#xff0…JavaScript 返回到上一页的三种常用方法在网页开发中实现“返回上一页”功能非常常见。JavaScript 提供了多种方式来实现下面详细介绍三种最常用且可靠的方法并附带优缺点对比和使用场景。方法一history.back()最常用推荐// 直接返回上一页等同于点击浏览器“后退”按钮history.back();// 或者history.go(-1);说明history.back()和history.go(-1)效果完全相同。会触发浏览器的历史记录后退页面状态如表单填写、滚动位置通常能保持取决于浏览器实现。示例按钮点击返回buttononclickhistory.back()返回上一页/button优点简单、直观。用户体验最好模拟真实后退行为。支持页面状态恢复。缺点如果当前页是历史记录的第一页会无效不会跳转。方法二history.go(-1)等同于 backhistory.go(-1);// 后退一步// history.go(-2); // 后退两步// history.go(1); // 前进一步说明history.go(n)中的 n 是整数正数前进负数后退。与history.back()完全等价只是写法不同。使用场景需要动态控制后退步数时更灵活。方法三window.location.href document.referrer根据来源页跳转if(document.referrer){window.location.hrefdocument.referrer;}else{// 如果没有来源页比如直接打开跳转到指定页面window.location.href/index.html;}说明document.referrer返回引发当前页面跳转的上一个页面的 URL字符串。直接设置location.href实现跳转。完整安全示例buttononclickgoBack()返回上一页/buttonscriptfunctiongoBack(){if(document.referrerdocument.referrer!window.location.href){window.location.hrefdocument.referrer;}else{// 备选方案跳转到首页或指定页面window.location.href/;}}/script优点可以明确知道要跳转到哪个页面。在某些单页应用SPA中更可控。缺点如果用户是通过直接输入 URL、书签或搜索引擎进入当前页document.referrer会为空。不会保留浏览器历史栈的“后退”状态属于新跳转。跨域时 referrer 可能被屏蔽受 Referrer-Policy 影响。三种方法对比总结方法代码是否模拟浏览器后退referrer 是否为空时行为是否保留页面状态推荐度history.back() / go(-1)history.back()是无效停留在当前页通常保留★★★★★history.go(-1)history.go(-1)是无效通常保留★★★★★document.referrerlocation.href referrer否新跳转需要手动处理备选页面不保留★★★最佳实践建议大多数场景优先使用history.back()buttononclickhistory.back()返回/button需要兼容无来源页的情况结合 referrerfunctiongoBack(){if(history.length1){history.back();}else{window.location.href/;// 跳转到首页}}移动端或单页应用Vue/React中常用history.back()配合路由守卫更优雅。总结99% 的情况下直接使用history.back()就是最佳选择简单可靠用户体验最好。