无需重新加载页面即可删除URL参数

3

当用户使用临时密码登录时,我会获得这个URL。

user.html?change=yes#passwordwrap

用户可以立即更改密码。保存新密码后,应删除URL中的现有参数。应该是:

user.html

有没有可能的方法可以做到这一点?不使用历史记录,因为页面是第一次加载,没有历史记录列表。有一个简单的方法吗?

我不明白为什么我们不能使用历史记录。 - Trevor Clarke
@TrevorClarke,因为页面第一次加载,没有历史记录列表。 - c.k
3个回答

6
您可以使用这个。
var url= document.location.href;
window.history.pushState({}, "", url.split("?")[0]);

0

如果您遇到 F/W 和 B/W 按钮的问题,请尝试使用 replaceState 而不是 pushState。

    window.history.pushState("object or string", "Title", "/"+window.location.href.substring(window.location.href.lastIndexOf('/') + 1).split("?")[0]);

此页面的URL将会更改为:

https://dev59.com/v2Eh5IYBdhLWcg3wKQjY#22753103

http://stackoverflow.com/22753103#22753103

0

这是用于更改URL的代码

window.history.pushState({ "html": "<h2>Hai</h2>", "pageTitle": "BuyOnline" }, "", '/buyonline/productview?param1=1&param2=2');

当在浏览器中按下返回按钮时,将触发此事件

window.addEventListener('popstate', function (event) {
    window.location.reload(); -- you can put your code here
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接