23

我一直在寻找 URL 哈希的 JQuery 库,但没有找到好的。有“历史插件”,但我们都知道它有问题并且不灵活。

我正在将我的页面加载到一个 div 中。我需要一种方法来进行反向/转发以及 url 散列。

mydomain.com/#home
mydomain.com/#aboutus
mydomain.com/#register

可以处理所有这些的最好的库是什么?

4

6 回答 6

25

我最近查看了 3 个不同的插件 - jquery history pluginhistoryjQuery BBQ

它们都很难设置,我确实让 jQuery.history 工作,但它仍然有 IE7 的问题。所以我改用 BBQ,它在我们所有的目标浏览器(IE6、IE7、IE8、Fx3)上运行良好。

所以我推荐jQuery BBQ插件。

编辑:这是我刚刚写的一篇博客文章,它演示了带有级联下拉菜单的 jQuery BBQ。

于 2010-03-01T22:39:23.520 回答
1

你试过 jQuery 地址吗?来自 Asual,制作 SWFAdress 的人。Asual - jquery 地址

jQuery Address 插件提供强大的深度链接功能,并允许创建可以指向网站部分或应用程序状态的唯一虚拟地址。

于 2010-10-16T23:53:58.247 回答
1

History.js有很好的文档记录/维护,并支持所有浏览器。

https://github.com/browserstate/history.js

从网站:

History.js 在所有浏览器中优雅地支持 HTML5 History/State API(pushState、replaceState、onPopState)。包括对数据、标题、replaceState 的持续支持。支持 jQuery、MooTools 和原型。对于 HTML5 浏览器,这意味着您可以直接修改 URL,而无需再使用哈希。对于 HTML4 浏览器,它将恢复使用旧的 onhashchange 功能。

于 2014-04-10T21:35:40.243 回答
0

我对真正简单的历史(nee dhtmlHistory)很幸运。它不是特定于 jQuery 的,但它适用于 IE、firefox 和 webkit,并且不需要太多设置。

于 2010-03-01T22:50:13.590 回答
0

也许试试这个 jQuery History 插件:https ://github.com/balupton/jquery-history/它提供跨浏览器支持、绑定到哈希、重载哈希等等。

它还有一个 Ajax 扩展,允许它轻松地将您的网页升级为适当的 Ajax 应用程序:https ://github.com/balupton/jquery-ajaxy/

总的来说,它有据可查、受支持且功能丰富。它也在这里赢得了一个赏金问题如何在 URL 中显示 Ajax 请求?

或者,如果您想使用 HTML5 History API,请访问:https ://github.com/browserstate/history.js

于 2010-07-27T10:30:54.650 回答
-4

AFAIK,所有历史插件都做同样的事情:

setInterval(function() {
   if(theHashChanged) {
      someFunction(oldHash,newHash);
   }
}, 500/*whatever*/);

这就是它的核心(减去浏览器黑客在不点击链接的情况下添加历史条目等)。它总是会出错,因为它有点像 hack,并且没有用于处理历史更改的跨浏览器 API。

最重要的是,这类事情的用户体验不是很好。用户不明白什么时候必须点击 4 次返回按钮才能离开页面。

于 2010-03-01T21:06:29.050 回答