4

是否有技巧(可能使用 iframe...)在不更改哈希或 URL 的任何其他部分的情况下向浏览器添加历史记录条目,同时与旧版浏览器兼容(不早于 ie8 - 没有 pushstate)?

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

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

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

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

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

4

1 回答 1

0

我发现一篇文章解释了可能的解决方案(使用 iframe ......):来自 Ajax Design Patterns 一书

我会尽快试一试,然后将结果发布给您。

于 2013-05-22T13:57:13.477 回答