8

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

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

我主要用 JQuery 在 ASP.NET 中编写,但我现在只担心 JQuery。我确实用 PHP、Python 和 Perl(取决于演出)编写了其他项目,所以它必须与平台无关。

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

因此,如果您对历史框架、在 Ajax 中处理后退按钮(等)有任何经验,我很想听听您使用了什么以及它是如何工作的。这真的会帮助我对图书馆做出最终选择。

谢谢,

小号

4

4 回答 4

4

前段时间我在构建一个仅限 Flash 的站点时遇到了类似的问题。我们尝试了:

于 2009-03-18T10:08:00.150 回答
1

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

我认为大多数框架都使用相同的技术(监控 location.hash 的变化,使用 IE 的 iframe)。我不想使用框架,因为我使用的是我自己的自制小框架,而常规框架包含太多我永远不会使用的功能。

于 2009-03-18T09:48:24.283 回答
1

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

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

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

于 2010-07-27T10:28:29.167 回答
0

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

于 2016-05-16T13:00:42.577 回答