2011-06-05 75 views
11

我需要ajaxify我的网站,如加载微调或点击链接页面中的特定内容。jQuery-pjax vs history.js加载特定的内容点击时

我发现2个不错的jQuery插件。

它们的主要区别是什么?看起来他们正在做同样的工作。那么,也许有人使用ajax,然后返回html(pjax),并使用所谓的html5推送状态或其他东西。

有没有另一种方法做到这一点? (更简单或只有jQuery)我认为使用这两种插件都太过于夸张(但我不确定是否有更简单的方法)。

回答

26

这是History.js的作者。

  • History.js是非常低级别的,只是侧重于对HTML5 API历史提供了一个跨浏览器兼容的接口
  • PJAX为高电平,并利用HTML5 API历史提供了一个接口使用这两种技术使用AJAX升级您的网站。

因此,您可以让PJAX使用History.js,以便它支持跨浏览器。实际上有关于这个here的请求。

虽然这并不意味着History.js会自行为您提供AJAX,但它确实为您提供了使用AJAX here的History.js的高级示例,您可以找到有关如何使用AJAX的更多信息那创建了here。从本质上讲,要点和PJAX做同样的事情,但他们以不同的方式去了解它们。

关于更简单,History.js是您可以获得的最低级的基本最简单的事情,它将确保HTML5 History API在所有浏览器中都能够正常工作 - 这就是为什么要像低级和紧凑可能的话,其他事情可以按照他们想要的方式扩展它 - 例如PJAX或Gist。

+4

哇,这是stackoverflow哥们。谢谢!。 – 2011-06-14 17:18:05

+2

+1 Thanks @balupton,假设我选择这个URL:http://history.js/demo/?state = 3',并将它传递给有HTML 4浏览器的人。他会被重定向到“http://history.js/demo/#?state = 3”吗? – IsmailS 2011-12-27 13:34:05

+0

第二和第三个“这里”链接不起作用 – Jannis 2013-06-30 15:26:57