动态更改URL,而不需要将前一个添加到历史堆栈
Change URL Dynamically Without Adding Previous To History Stack
一个stackoverflow问题URL包含一个servlet, id#和标题,像这样…
stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
我的网站工作方式与URL相同,如…
localhost:8443/user/1/admin
我在后端获取用户信息的查询只需要id号。后面的用户名只是为了显示。所以如果你在浏览器中输入localhost:8443/user/1/a
会得到和localhost:8443/user/1/admin
相同的页面
Stackoverflow能够注意到URL的结尾部分缺失并将其添加回来。如果你把这个放到地址栏
stackoverflow.com/questions/824349/modify
他们会动态地把它改成这个
stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page
现在我读了关于在stackoverflow上动态更改URL的文章,每个人都在参考history.pushstate
,所以我尝试了一下。这样做的问题是它将不正确的URL添加到历史堆栈中。我想要完成的是将URL更改为它应该的路径,而不包括错误的URL到历史堆栈。因此,如果用户决定返回,他们将返回到他们上次访问的实际页面,stackoverflow.com/questions/824349/modify
。就像stackoverflow一样。我怎么能这么做?
查看replaceState方法
尝试使用历史记录。replace estate代替history.pushState
相关文章:
- 我可以在json对象中添加一个函数吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 单击更改图标并通过javascript添加一个css类
- fluxxor向一个flux实例添加一组以上的操作
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- angularjs移除焦点上的活动类并添加到下一个项目
- 使用jquery contains获取一个元素并添加类
- 有没有添加一个ng点击到md背景
- 如何为下拉列表的每个选项添加一个属性
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 单击删除其中一个添加的行
- 几个jQuery日期选择器小部件,只向其中一个添加类
- 我想创建一个添加新表单的按钮
- Babel v6:我如何/可以编写一个添加新语法(即新运算符)的插件
- GWT SimplePager -为每个下一个和上一个添加历史记录
- 自动提交表单上的最大长度,-为现有的一个添加java脚本代码
- 如何在jquery中移除一个添加了类的类
- 动态更改URL,而不需要将前一个添加到历史堆栈