我尝试通过javascript在浏览器的地址栏中删除部分网址。
但是我不明白为什么它不起作用,如果我在控制台中对其进行测试,结果是正确的,但在地址栏中它仍然没有改变。
我该怎么做?
网址我有:http://localhost:8090/Home/Index?x=72482&success=itsdone
我想要的网址是:
http://localhost:8888/Home/Index?x=72482
这是我的JavaScript代码:
window.location.href.replace('&', '#');
window.location.hash = "";
replace
不会更改您在其上调用的字符串(字符串是不可变的),它将返回一个新的字符串。
要替换&
为#
,请执行
window.location = window.location.href.replace('&', '#');
如果要从头开始删除所有内容&
,最好的方法是使用正则表达式:
window.location = window.location.replace(/&.*$/,'');
如果您想要保留x
参数,那么应该重新构建位置,以确保如果参数在URL中的顺序不同,它仍然可以:
window.location = window.location.replace(/([^?]*).*(\?|&)(x=)([^&]+).*/, "$1?$3$4")
这改变了
"http://localhost:8888/Home/Index?a=2&x=72482&c=3"
要么
"http://localhost:8888/Home/Index?x=72482&success=itsdone"
进入
"http://localhost:8888/Home/Index?x=72482"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句