我开始玩pjax,因为我想为我的用户提供快速,流畅的体验,而不需要大量不必要的HTTP请求和重复呈现未更改的HTML。
我在我的网站上运行得相当好,而且我必须说起来并运行起来非常容易,考虑到它对体验的影响有多大。
但是,我很少看到pjax的支持 - 包括StackOverflow和一般网络(google search会在顶部返回很多结果{{3} }} totally到网站开发。)
但令我印象深刻的是,即使它尚未被广泛支持,我仍然可以使用它。我主要担心的是当我已经在没有大量支持的情况下将代码投入其中时遇到大问题。所以我想确保那里没有别的东西。
是否有替代方法可以实现pjax提供的相同功能,我不知道?或者它是如此新鲜,以至于没有多少人知道它呢?或者,这只是一个糟糕/有问题的实施?
答案 0 :(得分:8)
http://caniuse.com/#search=history会告诉您支持当前版本的pjax的内容。
嗅探PJAX标头请求的severside代码也可能对浏览器做出反应,并且对其他浏览器也很好地降级。
http://forum.kohanaframework.org/discussion/8869/kopjax-simplistic-pjax-jquery-ajax-module/p1#Comment_60090是一个很好的替代选项列表。
如果您不介意缺少对其他浏览器的支持或进行更改,那么PJAX唯一的退回我可以看到需要有1块/部分更新。
答案 1 :(得分:4)
我遇到了试图解决1容器部分更新限制的问题,因此我将一个简单的替代方案放在一起,优雅地降级。 djax获得与pjax相同的结果,除了它对页面之间的布局更改无动于衷,并允许您根据需要更新页面上的任意数量的部分。
答案 2 :(得分:2)
我和杰拉德在一起 - 基于在IE中使用the demo,它似乎优雅地降级。
如果你能够与一些没有获得AJAX体验的用户共处,我认为没有什么可失去的。
答案 3 :(得分:1)
我也收到了“抱歉,不支持”的消息。
从这里指出的浏览器支持问题来看,我会说虽然pjax听起来很有趣,但它可能尚未准备好迎接黄金时段。
它在Firefox 3.6中不起作用,但这是一个小问题,因为FF4现在可用。但在可预见的未来,你真正的大阻碍者是IE。如果IE9甚至不支持该产品,那么使用它就不会给你带来任何好处。
但是随着浏览器世界的变化速度,这将会有所改善,所以请随时尝试一下,以便以后实施它 - 如果这个答案是,我不会感到惊讶在一年的时间里完全不同 - 但暂时我会说这就是:实验性的好奇心。
答案 4 :(得分:0)
Pjax是一个很好的解决方案,它会优雅地降级。如果你想要一个更深入的解决方案,你可以使用backbone-rails,但这需要更多的工作。我相信它与旧浏览器更兼容,因为它不依赖于推送状态......