使用Javascript历史框架的经验

时间:2009-03-18 08:03:25

标签: javascript jquery ajax hashchange

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

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

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

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

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

谢谢,

取值

4 个答案:

答案 0 :(得分:4)

我前段时间遇到了类似问题,只建立了一个Flash网站。我们试过了:

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

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

总体而言,他们都有良好的文档记录,支持和功能丰富。他们还在这里赢得了一个赏金问题How to show Ajax requests in URL?

答案 3 :(得分:0)

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