从查询字符串中删除参数而不重新加载

Remove parameter from query string without reloading

本文关键字:新加载 加载 字符串 查询 删除 参数      更新时间:2023-09-26

是否可以使用 js 从查询字符串中删除参数,不幸的是,我已经尝试过下面的参数,它在浏览器控制台中而不是在 JS 文件中工作。

 var clean_uri = location.protocol + "//" +       location.host+location.pathname;
 window.history.replaceState({}, document.title, clean_uri);

最好的方法是什么。

这只能在浏览器中工作,因为 window.history API 仅在您的浏览器中可用。我不太确定您所说的"从文件"是什么意思。但正如其中一位评论者指出的那样,问题在于执行地点。例如,如果您在 Node 环境而不是浏览器中执行此操作,则没有 window.history api。Node 甚至没有窗口对象。

由于您添加了 AngularJs 标志,因此应用内的路由可能正在侦听对 URL 的更改并对其执行操作。Angular 可能有它自己的方式允许您更改 URL,但我不够熟悉,无法提供帮助。