将历史记录条目添加到浏览器而不更改散列或URL的任何其他部分

时间:2013-05-22 00:51:01

标签: javascript browser-state

是否有一个技巧(使用iframe可能......)将历史记录条目添加到浏览器而不更改哈希值或URL的任何其他部分,同时与旧浏览器兼容(不比ie8更早 - 没有pushstate )?

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

我正在做一个单页应用程序,我想摆脱 模态作为弹出窗口。我使用相同的技术,但不是在实际页面上方放置div,我想隐藏整个页面并仅显示代表模态的div。

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

我知道我可以导航到另一个页面(通过更改哈希),但我不希望URL更改,因为目标不是它自己的页面而只是一个模态(复制没有意义)模态的URL并将其传递给其他人或将模态加入书签 - 就像弹出窗口中的任何普通模态一样。)

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

1 个答案:

答案 0 :(得分:0)

我发现了一篇解释可能是什么解决方案的文章(使用iframe ......):from the book Ajax Design Patterns

我会尽快试一试,然后告诉你结果。