2011-04-10 89 views
20

我剛剛發現pjax,我發現它完全真棒。如果我的理解正確,那就是AJAX,但沒有問題(完全可降解,網頁的URL和標題在使用時會發生變化,與搜索漫遊器兼容...)。pjax是如何工作的?

但我很好奇它是如何工作的?我們如何在瀏覽器中更改網址,而無需更改頁面......我在需要Firefox 4的地方閱讀,是否有新的「網頁」功能呢?

回答

32

它只是「$ .ajax()」的包裝。它使用新的「pushState」和「replaceState」方法來操縱歷史。

see this SO question too,特別是鏈接到History.js

編輯 —請注意,通過編寫「只是一個包裝」我並不是要貶低pjax插件。我只是說它不是一些激進的新功能;它仍然是XMLHttpRequest。

+0

你能給我一些關於「pushState」和「popState」的基本信息或鏈接嗎?謝謝 – 2011-04-10 14:44:30

+2

[這裏是關於'window.history'的MDC頁面](https://developer.mozilla.org/en/DOM/window.history) – Pointy 2011-04-10 14:47:01