2012-12-27 488 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; 
}