window.history.go(-1);和window.history.back()


頁面A跳轉到頁面B,在完成相應工作后,如果想原封不動的回到頁面A,這時候這兩個方法就該起作用了,它們不是用來刷新的,是用來回退的。

先看window.history.go(-1):

history是你瀏覽過的網頁的url(簡單的說就是網址)的集合,也就是你的瀏覽器里的那個歷史記錄。它在js里是一個內置對象,就跟document一樣,它有自己的方法,go就是其中一個。
這個方法的參數是一個數字,它指定要定位的url相對當前頁面url位置的下標。當前的url下標為0,所以window.history.go(-1)就是要定位到相對當前頁面下標為-1的頁面,也就是之前剛剛訪問的頁面。

再舉個例子:
你在地址欄訪問百度頁面(http://www.baidu.com),這時history里就把這個地址加到了它的集合里,並且將下標定為0.
通過搜索,你訪問了新浪的頁面(http://www.sina.cn),瀏覽器又將這個網址放在了history里,並將這個網址的下標定為0,而之前訪問的百度頁面的下標相對於這次訪問的新浪頁面就變成了-1.
如果接下來你又通過新聞鏈接打開了網易頁面(http://www.163.com),瀏覽器就會如上一樣又把這個網易放到history里,下標為0,而網易之前一個訪問的頁面新浪,在history里的下標就變成了-1,同理百度的下標就變成了-2.

這時,你通過window.history.go(-1)語句,能使頁面定位到當前頁面的前一個頁面,也就是新浪網,如果你使用的是window.history.go(-2),就能直接到達百度頁面。

總得來說,這句代碼的功能就跟你點了瀏覽器上的返回按鈕一樣。

 

再看window.history.back();

Windows下的window.history.back()后退后返回的不只是前一個頁而是前一個頁的狀態。如果一個頁我修改了3次那必須后退3次才能回到前一個頁

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM