use*_*273 3 javascript jquery replace
我尝试通过javascript删除浏览器地址栏中的部分网址.
但我不明白为什么它不起作用,如果我在控制台中测试结果是正确的但它仍然没有在地址栏中改变.
我该怎么做?
我有的网址:http://localhost:8090/Home/Index?x=72482&success=itsdone
我想要的网址是:
http://localhost:8888/Home/Index?x=72482
Run Code Online (Sandbox Code Playgroud)
这是我的javascript代码:
window.location.href.replace('&', '#');
window.location.hash = "";
Run Code Online (Sandbox Code Playgroud)
Den*_*ret 10
replace 不会更改您调用它的字符串(字符串是不可变的),它返回一个新字符串.
要更换&有#,做
window.location = window.location.href.replace('&', '#');
Run Code Online (Sandbox Code Playgroud)
如果要从第一个中删除所有内容&,最好使用正则表达式:
window.location = window.location.replace(/&.*$/,'');
Run Code Online (Sandbox Code Playgroud)
如果你想要保留x参数,那么你应该重建位置,以确保如果参数在URL中的顺序不同,它仍然可以:
window.location = window.location.replace(/([^?]*).*(\?|&)(x=)([^&]+).*/, "$1?$3$4")
Run Code Online (Sandbox Code Playgroud)
这种变化
"http://localhost:8888/Home/Index?a=2&x=72482&c=3"
Run Code Online (Sandbox Code Playgroud)
要么
"http://localhost:8888/Home/Index?x=72482&success=itsdone"
Run Code Online (Sandbox Code Playgroud)
成
"http://localhost:8888/Home/Index?x=72482"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5972 次 |
| 最近记录: |