2017-07-31 18 views
0

好了,所以我有這樣的代碼,讓我到我的當前頁面上的用戶重定向到其他頁面時,他們單擊後退按鈕添加paraments備份按鈕重定向到以前的URL

代碼工作正常,但現在我例如想要將上一頁中的URL參數傳遞給重定向頁面。讓我們說,在主網頁的用戶是在是www.example.com/ready&val=1&base=2&timeid=3&rfid=4

我想& VAL = 1個&鹼= 2 & TIMEID = 3 & RFID = 4傳遞給該用戶是作爲域的端部重定向到,當他們點擊後退按鈕

<script type="text/javascript"> 
    !function(){ 
    var c_link = "www.example.com/time"; 
    var t;    
    try{ 
     for(t=0;10>t;++t)history.pushState({},"","#"); 
     onpopstate=function(t){t.state&&location.replace(c_link)}} 
    catch(o){} 
    }(); 
</script> 

所以用戶到達www.example.com/time我想&val=1&base=2&timeid=3&rfid=4是和它的結束。

+0

後退按鈕僅適用於在網絡瀏覽器歷史記錄中記錄的內容。如果一個網站可以操縱它,它會造成嚴重的安全問題。想象一下可以完成的劫持行爲。 – Difster

回答

1
var c_link = "www.example.com/time&val=1&base=2&timeid=3&rfid=4"; 

請嘗試通過網址本身傳遞值。

+0

這些參數可能會改變它們不是靜態的。所以每次訪問者訪問頁面時他們都會有所不同 – 4DAWIN

+0

我想從當前url中獲取參數並將它們追加到重定向的url – 4DAWIN

+0

腳本本身,您可以添加動態值。並傳遞它,你的服務器端語言是什麼? –

0

我不會使用HTML5 history.pushState,因爲它不支持IE9和以前的版本。但我可以給你一個更好的解決方案。您可以使用sessionStorageperformance.navigation.type


sessionStorage是一種存儲類型像localStorage但它只能將數據保存到當前選項卡。

會話存儲可以像這樣使用。

sessionStorage.setItem('key', 'value'); //saves the value 
sessionStorage.getItem('key'); //gets the saved value 

performance.navigation.type是瀏覽器保存用戶的導航信息的變量。

if(performance.navigation.type == 2){ 
    //User is coming with back button 
} 

通過上面我們可以很容易地解決你的問題的信息。

腳本下一頁

var values = { 
    val: 1, 
    base: 2, 
    timeid: 3, 
    rfid: 4 
} 
sessionStorage.setItem('returnData', JSON.stringify(values)) 

在這裏是我們的主要頁面。

if(performance.navigation.type == 2){ 
    var backValues = JSON.parse(sessionStorage.getItem('returnData')); 
    //Do whatever you need with backValues 
}