javascript中back(-1)和go(-1)的區別
一、總結
一句話總結:
數據
history.back(-1):直接返回當前頁的上一頁,數據全部消息,是個新頁面
history.go(-1):也是返回當前頁的上一頁,不過表單里的數據全部還在
1、開發人員可以知道用戶瀏覽的url么?
不可以
出於安全因素的考慮,開發人員無法得知用戶瀏覽過的URL,只能通過用戶訪問過的頁面列表,實現后退和前進,進而模仿瀏覽器的“后退”和“前進”按鈕
2、刷新?
history.back(0)
history.back(0) 刷新
二、頁面返回/取消到上個頁面back(-1)和go(-1)的區別
back() | 加載 history 列表中的前一個 URL。 |
forward() | 加載 history 列表中的下一個 URL。 |
go() | 加載 history 列表中的某個具體頁面。 |
H5頁面做多了,自然就會做到頁面上的返回功能,返回功能大致有兩種:history.back(-1)和history.go(-1),今天我們來說說兩種方法的區別。
方法的用途
返回一個頁面方法有很多,就好比給返回按鈕綁定一個URL,但是如果一個頁面可以從很多頁面到達,那么這個頁面返回的頁面就不是固定的,那么綁定固定的URL顯然不妥。
方法的區別
history.back(-1):直接返回當前頁的上一頁,數據全部消息,是個新頁面
history.go(-1):也是返回當前頁的上一頁,不過表單里的數據全部還在
history.back(0) 刷新
history.back(1) 前進
history.back(-1) 后退
參考:頁面返回/取消到上個頁面back(-1)和go(-1)的區別 - u011277123的博客 - CSDN博客
https://blog.csdn.net/u011277123/article/details/54580090
三、history對象的一些知識點
history對象可以保存用戶的上網的歷史記錄,即從窗口被打開的那一刻算起。這里有個比較糾結的問題,出於安全因素的考慮,開發人員無法得知用戶瀏覽過的URL,
只能通過用戶訪問過的頁面列表,實現后退和前進,進而模仿瀏覽器的“后退”和“前進”按鈕。
具體實現方法:
//后退一頁
history.go(-1);
==history.back();
//前進一頁
history.go(1);
==history.forward();
類似還有:
//前進兩頁
history.go(2);
......
還可以傳入字符串,但是不可控哦,比如
history.go("baidu.com");
是你最近打開的百度的鏈接,不一定是后退還是前進。
history.length,保存了歷史記錄的數量,注意:當頁面的URL改變時,就會生成一條記錄。
此外,在IE8+,Opera,Firefox,Safari3+,Chrome中,hash值(location.hash)改變也會生成一條新的歷史記錄。
http://www.cnblogs.com/bug-master/p/6201488.html