最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實現(xiàn)返回到上一頁的三種方法

 更新時間:2026年01月21日 10:23:43   作者:AI老李  
在網(wǎng)頁開發(fā)中,實現(xiàn)返回上一頁功能非常常見,JavaScript 提供了多種方式來實現(xiàn),下面詳細介紹三種最常用且可靠的方法,并附帶優(yōu)缺點對比和使用場景,需要的朋友可以參考下

JavaScript 返回到上一頁的三種常用方法

在網(wǎng)頁開發(fā)中,實現(xiàn)“返回上一頁”功能非常常見。JavaScript 提供了多種方式來實現(xiàn),下面詳細介紹三種最常用且可靠的方法,并附帶優(yōu)缺點對比和使用場景。

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

// 直接返回上一頁,等同于點擊瀏覽器“后退”按鈕
history.back();

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

說明

  • history.back()history.go(-1) 效果完全相同。
  • 會觸發(fā)瀏覽器的歷史記錄后退,頁面狀態(tài)(如表單填寫、滾動位置)通常能保持(取決于瀏覽器實現(xiàn))。

示例(按鈕點擊返回):

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

優(yōu)點

  • 簡單、直觀。
  • 用戶體驗最好,模擬真實后退行為。
  • 支持頁面狀態(tài)恢復(fù)。

缺點

  • 如果當前頁是歷史記錄的第一頁,會無效(不會跳轉(zhuǎn))。

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

history.go(-1);  // 后退一步
// history.go(-2); // 后退兩步
// history.go(1);  // 前進一步

說明

  • history.go(n) 中的 n 是整數(shù),正數(shù)前進,負數(shù)后退。
  • history.back() 完全等價,只是寫法不同。

使用場景

  • 需要動態(tài)控制后退步數(shù)時更靈活。

方法三:window.location.href = document.referrer(根據(jù)來源頁跳轉(zhuǎn))

if (document.referrer) {
    window.location.href = document.referrer;
} else {
    // 如果沒有來源頁(比如直接打開),跳轉(zhuǎn)到指定頁面
    window.location.href = '/index.html';
}

說明

  • document.referrer 返回引發(fā)當前頁面跳轉(zhuǎn)的上一個頁面的 URL(字符串)。
  • 直接設(shè)置 location.href 實現(xiàn)跳轉(zhuǎn)。

完整安全示例

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

<script>
function goBack() {
    if (document.referrer && document.referrer !== window.location.href) {
        window.location.href = document.referrer;
    } else {
        // 備選方案:跳轉(zhuǎn)到首頁或指定頁面
        window.location.href = '/';
    }
}
</script>

優(yōu)點

  • 可以明確知道要跳轉(zhuǎn)到哪個頁面。
  • 在某些單頁應(yīng)用(SPA)中更可控。

缺點

  • 如果用戶是通過直接輸入 URL、書簽或搜索引擎進入當前頁,document.referrer 會為空。
  • 不會保留瀏覽器歷史棧的“后退”狀態(tài)(屬于新跳轉(zhuǎn))。
  • 跨域時 referrer 可能被屏蔽(受 Referrer-Policy 影響)。

三種方法對比總結(jié)

方法代碼是否模擬瀏覽器后退referrer 是否為空時行為是否保留頁面狀態(tài)推薦度
history.back() / go(-1)history.back()無效(停留在當前頁)通常保留★★★★★
history.go(-1)history.go(-1)無效通常保留★★★★★
document.referrerlocation.href = referrer否(新跳轉(zhuǎn))需要手動處理備選頁面不保留★★★

最佳實踐建議

大多數(shù)場景優(yōu)先使用 history.back()

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

需要兼容無來源頁的情況,結(jié)合 referrer:

function goBack() {
    if (history.length > 1) {
        history.back();
    } else {
        window.location.href = '/'; // 跳轉(zhuǎn)到首頁
    }
}
  1. 移動端或單頁應(yīng)用(Vue/React) 中常用 history.back(),配合路由守衛(wèi)更優(yōu)雅。

總結(jié):99% 的情況下,直接使用 history.back() 就是最佳選擇,簡單可靠,用戶體驗最好。

到此這篇關(guān)于JavaScript實現(xiàn)返回到上一頁的三種方法的文章就介紹到這了,更多相關(guān)JavaScript返回到上一頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JavaScript實現(xiàn)MD5加密算法指南

    JavaScript實現(xiàn)MD5加密算法指南

    本文主要介紹了JavaScript實現(xiàn)MD5加密算法指南,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • 詳細聊聊TypeScript中unknown與any的區(qū)別

    詳細聊聊TypeScript中unknown與any的區(qū)別

    unknown類型比較謙虛,就和他本身的意思一樣,他從不禍害到其他的變量,但是any類型就是那種惡霸,屬于什么都不管,誰也不敢管的類型,這篇文章主要給大家介紹了關(guān)于TypeScript中unknown與any區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • js控制文本框只能輸入中文、英文、數(shù)字與指定特殊符號的實現(xiàn)代碼

    js控制文本框只能輸入中文、英文、數(shù)字與指定特殊符號的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄猨s控制文本框只能輸入中文、英文、數(shù)字與指定特殊符號的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • javascript form 驗證函數(shù) 彈出對話框形式

    javascript form 驗證函數(shù) 彈出對話框形式

    javascript合法驗證 js數(shù)據(jù)驗證、js email驗證、js url驗證、js長度驗證、js數(shù)字驗證等(彈出對話框形式)
    2009-06-06
  • js時間戳格式化成日期格式的多種方法

    js時間戳格式化成日期格式的多種方法

    js需要把時間戳轉(zhuǎn)為為普通格式,一般的情況下可能用不到的,下面與大家分享幾種不錯的方法,感興趣的朋友不要錯過
    2013-11-11
  • JavaScript四種調(diào)用模式和this示例介紹

    JavaScript四種調(diào)用模式和this示例介紹

    JavaScript調(diào)用時除了聲明時定義的形參外,每個函數(shù)接受兩個附加參數(shù):this 和arguments,下面為大家介紹下JavaScript四種調(diào)用模式和this
    2014-01-01
  • javascript實現(xiàn)日期按月份加減

    javascript實現(xiàn)日期按月份加減

    JavaScript實現(xiàn)日期加減計算功能代碼實例,因為在js中沒有類似C#中的AddDays方法,所以要想實現(xiàn)日期加減的話,就需要自己寫函數(shù)來實現(xiàn)。這里分享給大家,有需要的小伙伴可以參考下
    2015-05-05
  • 手機端轉(zhuǎn)盤抽獎代碼分享

    手機端轉(zhuǎn)盤抽獎代碼分享

    轉(zhuǎn)盤,也有一種說法叫抽獎轉(zhuǎn)盤,大體上是由一塊圓形的面板上面有很多的獎項設(shè)置,在圓形面板的前面,還有一根指針是固定的,下面,小編給大家分享手機端轉(zhuǎn)盤抽獎,需要的朋友可以參考下
    2015-09-09
  • JS路由跳轉(zhuǎn)的簡單實現(xiàn)代碼

    JS路由跳轉(zhuǎn)的簡單實現(xiàn)代碼

    本文給大家分享一個簡單的js路由跳轉(zhuǎn)功能,非常不錯,需要的朋友參考下吧
    2017-09-09
  • javascript prototype原型操作筆記

    javascript prototype原型操作筆記

    在 JavaScript 中,prototype 不但能讓對象共享自己財富,而且 prototype 還有尋根問祖的天性,從而使得先輩們的遺產(chǎn)可以代代相傳。
    2009-12-12

最新評論

开原市| 冀州市| 大理市| 武穴市| 丁青县| 乌兰县| 太保市| 陵水| 隆化县| 长泰县| 舟山市| 金华市| 新建县| 东辽县| 梨树县| 屏东市| 南宁市| 祁门县| 无极县| 石嘴山市| 太原市| 同德县| 泸水县| 绥宁县| 望奎县| 旬邑县| 扶沟县| 汤原县| 宁陕县| 郑州市| 奇台县| 垦利县| 永仁县| 阜新市| 旺苍县| 阿拉善左旗| 台东市| 大丰市| 茂名市| 山阳县| 正蓝旗|