pjax是如何工作的?

Mat*_*oli 20 javascript ajax

我刚刚发现了pjax,我发现它完全令人敬畏.如果我理解正确,它是AJAX,但没有它的问题(完全可降解,页面的URL和标题在使用时会发生变化,与搜索机器人兼容......).

但我很好奇它是如何工作的?如何更改浏览器中的URL,而无需更改页面...我在某处读到了你需要的Firefox 4,那是一个新的"网络"功能吗?

Poi*_*nty 32

它只是"$ .ajax()"的包装.它使用新的"pushState"和"replaceState"方法来操纵历史记录.

请看这个SO问题,特别是到History.js的链接.

编辑 - 请注意,通过编写"只是一个包装器",我并不是要贬低pjax插件.我只是说这不是一些激进的新功能; 它仍然是XMLHttpRequest的封面.

  • [这是关于`window.history`的MDC页面](https://developer.mozilla.org/en/DOM/window.history) (2认同)