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

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

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

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();get

Windows下的window.history.back()後退後返回的不僅是前一個頁而是前一個頁的狀態。若是一個頁我修改了3次那必須後退3次才能回到前一個頁百度

相關文章
相關標籤/搜索