2011-06-05 90 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