使用javascript动态修改url

使用javascript动态修改url,javascript,jquery,url,browser,Javascript,Jquery,Url,Browser,我想在用户选择另一个要访问的页面时更改该页面的url。该url将动态替换原始url 例如 如果用户访问第1页,url将是book.html?page=1 如果是第30页,则book.html?page=30,依此类推 但是,当我使用javascript更改链接时,它会陷入一个无限循环 似乎我一直在访问->更改链接->访问->更改链接->。。。。如何解决这个问题 当链接更改时,不要访问该页面 var currURL = $(location).attr('href'); var index = c

我想在用户选择另一个要访问的页面时更改该页面的url。该url将动态替换原始url

例如

如果用户访问第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); 

您只需使用标准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;
}

三元运算符中的问题我想,您在
currURL.length
中得到的值是什么?这是因为当您更改
location.href
时,它将重新加载整个页面并再次运行代码?