在不重新加载页面的情况下替换当前URL

时间:2014-01-12 10:07:21

标签: javascript url vaadin

我想从浏览器中获取当前网址,并将最后一个数字参数替换为其他数字,我的示例网址:

app#!folder/1/document?p=1

要替换的参数 - ?p = 1进入?p = 3

param编号是动态生成的,所以我必须从URL

中获取参数

我想将此JavaScript作为String执行, 非常感谢任何帮助

3 个答案:

答案 0 :(得分:2)

我在不使用javascript

的情况下解决了问题(VAADIN FRAMEWORK)
String url = Page.getCurrent().getUriFragment().toString();
url = url.replaceAll("\\?p=([0-9])?", "?p=1");
Page.getCurrent().setUriFragment(url, true);

答案 1 :(得分:0)

除非我遗漏了某些内容,否则只需使用String#replace()

url = url.replace("?p=1", "?p=3");

答案 2 :(得分:0)

请注意,对当前URL的修改将重新加载页面,除非它发生在哈希部分(#字符之后),这显然是您要做的事情。

可以通过location.href变量在javascript中修改当前网址:

location.href = location.href.replace("p=1", "p=3");