2012-12-27 513 views
0

我想在用戶選擇另一個頁面訪問時更改頁面的網址。該網址是動態替換原來的。使用javascript動態修改網址

例如。

如果用戶訪問第1頁,將URL book.html?page=1

如果30頁,然後book.html?page=30等。

但是,當我改變使用JavaScript的鏈接,它陷入了一個無限循環。

看來我繼續訪問 - >改變鏈接 - >訪問 - >改變鏈接 - > ....如何解決這個問題?

例如。鏈接更改時,請勿訪問該頁面。

var currURL = $(location).attr('href'); 
var index = currURL.indexOf('?'); 
currURL = currURL.substring(0, index != -1 ? index : currURL.length); 
// fall into loop 
$(location).attr('href', currURL + '?page=' + pageNo); 
+0

問題在您的三元運營商,我認爲,你在'currURL.length' –

+3

這是因爲當你改變'location.href'這將刷新整個頁面,並再次運行代碼獲取值? –

回答

1

你可以用標準的javascript來做到這一點。

if(location.href.indexOf('?') !== -1 && location.href.indexof('?page=') === -1) 
{ 
    var urlArray = location.href.split('?'); 
    var newURL = urlArray[0] + "?page=" + urlArray[1]; 
    location.href = newURL; 
}