0

背景

检测 URL 中的哈希更改和修复前进/后退按钮是处理 Ajax 历史的库的两个要求。实现这些库有两种思想流派。您可以让轮询器不断检查 URL(不良浏览器没有 onHashChange 事件)。或者,您可以使用隐藏的 iFrame 在浏览器历史记录中添加点。有人可能认为隐藏 iFrame 比轮询更好,但隐藏 iFrame 不会更新外部浏览器的 URL。因此,如果用户想在 Web 应用程序中共享她的当前状态,她将始终共享她的初始状态。

问题

是否有任何 Ajax 历史技术既不需要轮询,也不需要更新主浏览器的 URL?

4

2 回答 2

0

两种技术的结合如何?更改 url,以及使用 iframe。忽略 hashChanged(在好的浏览器上),只解析 dom:ready 上的哈希码

于 2010-11-24T00:22:17.850 回答
-1

查看您对原始问题的评论,我建议对 IE 使用 iframes 方法,对其他浏览器使用轮询方法。

如果您正在寻找一个专门处理此问题的库并且您想要一个基础来帮助您自己开发,请查看Real Simple History 。

如果您只是在寻找在 Ajax UI 中保持页面状态的功能,dojo 可以通过dojo.hash() shim 来支持这一点。此方法为不支持它的浏览器创建onhashchange事件并管理后退按钮的状态。它根据浏览器混合使用轮询和 iframe(iFrame 专门用于 IE 版本 < 8)。

于 2010-11-24T13:37:02.793 回答