背景
检测URL中的哈希更改和修复前/后按钮是处理Ajax历史记录的库的两项要求。实现这些图书馆有两种思路。您可以让计票器不断地检查URL (糟糕的浏览器没有onHashChange事件)。也可以使用隐藏的iFrame在浏览器历史记录中添加点。人们可能认为隐藏的iFrame比轮询更好,但是隐藏的iFrame不会更新外部浏览器的URL。因此,如果用户希望在web应用程序中共享她的当前状态,她将始终共享她的初始状态。
问题
对于Ajax历史记录,是否有任何技术既不需要轮询又可以更新主浏览器的URL?
发布于 2010-11-24 00:22:17
把这两种技术结合起来怎么样?更改url,并使用iframe。忽略hashChanged (在好的浏览器上),只解析dom上的哈希代码:就绪
发布于 2010-11-24 13:37:02
考虑到您从最初的问题中得出的评论,我建议使用iframes方法进行IE和其他浏览器的轮询。
如果您正在寻找一个专门处理此问题的库,并且需要一个帮助您自己滚动的基础,请查看真实简史。
如果您只是在寻找将页面状态保持在Ajax UI中的功能,则dojo使用dojo.hash() shim支持这一功能。此方法为不支持它的浏览器创建onhashchange事件,并管理back按钮的状态。根据浏览器的不同,它使用轮询和iframes混合使用(iFrames专门用于IE版本< 8)。
https://stackoverflow.com/questions/4262391
复制相似问题