在不更改URL的散列或任何其他部分的情况下向浏览器添加历史记录条目

Add history entry to the browser without changing the hash or any other parts of the URL

本文关键字:添加 浏览器 情况下 历史 记录 任何 URL 其他部      更新时间:2023-09-26

是否有一个技巧(与iframe也许…)添加历史条目到浏览器而不改变哈希或URL的任何其他部分,同时兼容较旧的浏览器(不超过ie8 -没有pushstate)?

我知道这听起来很奇怪,但这是这个问题背后的逻辑:

我正在做一个单页应用程序,我想去掉弹出式情态动词。我使用相同的技术,但不是在实际页面上方放置一个div,我想隐藏整个页面,只显示表示模态的div。

这个效果很好,但是现在模态占据了整个页面,用户倾向于(这是很正常的)单击后退按钮来取消操作并返回到上一页(当模态显示时,上一页是隐藏的)。

我知道我可以导航到一个不同的页面(通过改变哈希),但我不希望URL改变,因为目的地不是它自己的页面,但只有一个模态(它不会有意义复制模态的URL,并将其传递给别人或书签的模态-作为任何正常模态内弹出)。

我还需要能够在用户已经完成操作(在模态中)或单击取消按钮的情况下删除此条目。

我发现了一篇文章,解释了什么可能是一个解决方案(与iframe…):从书Ajax设计模式

我很快就会试一试,然后把结果发给你。