使用Javascript历史框架的经验

当用户选择多个更改页面行为的选项时,我正在寻找一个javascript历史框架来处理页面内的导航。

页面上有多个人工制品可以更改页面的数据加载,我想将其存储为一组堆叠的行为。 从更广泛的意义上讲,出于同样的原因,我想将此作为工具包添加到我未来的Web项目中。

我主要用ASP.NET编写ASP.NET,但我现在才真正担心JQuery。 我用PHP,Python和Perl编写其他项目(取决于演出),因此它必须与平台无关。

我一直在网上寻找并发现了一些,但只有一个(在OReilly上覆盖)看起来很符合要求。 我已经开始玩它,但我想知道其他人正在使用什么工具包以及其他人会推荐什么。

因此,如果您有历史框架的经验,处理Ajax中的后退按钮(等),我很乐意听到您使用过的内容以及它的用法。 这真的有助于我在图书馆做出最终选择。

谢谢,

小号

我刚才有类似的问题,只建立一个闪存网站。 我们尝试了:

  • 真正简单的历史 (在safari和flash的组合中有一些问题)
  • ExtJS有一个对我们有用的历史组件 。 ( 演示 )[我们已经将此框架用于其他项目。]

也许这个问题对你有用。 在我链接到testpage的问题中,其中location.hash用于跟踪历史记录。 我目前在测试站点中使用此方法并遇到Opera问题(在问号处截断location.hash值,您必须使用: location.href.split(/#/)[1] )当然IE(需要一个iframe)。 在使用iframe的IE中,仅为当前会话保存历史记录。 如果您在同一窗口/选项卡中加载另一个页面并使用后退按钮返回到AJAX页面,则之前的历史记录将丢失。 对我来说这不是什么大不了的事,但可能很烦人。 我知道IE8s的历史应该与location.hash的行为一样,它甚至应该有一个hashchange处理程序。

我认为大多数框架使用相同的技术(监视location.hash进行更改,使用iframe进行IE)。 我不想使用框架,因为我使用自己的家庭酿造小框架和常规框架包含太多function我永远不会使用。

jQuery History是我的首选。 它可以在这里找到: http : //www.balupton.com/projects/jquery-history/提供跨浏览器支持,绑定到哈希,重载哈希,所有其余的。

还有一个名为jQuery Ajaxy的Ajax扩展,允许它轻松地将您的网页升级为正确的Ajax应用程序,而无需进行服务器端更改,并保持SEO和JS-Disabled友好: http : //www.balupton.com/projects / jQuery的ajaxy /

总的来说,它们都有良好的文档记录,支持和function丰富 他们还在这里赢得了一个赏金问题如何在URL中显示Ajax请求?

Dial.js是一个JavaScript浏览器历史框架,旨在为单页面应用程序(SPA)提供jQuery和History.js的成熟MVC框架的一些function。