2011-05-27 57 views
36

我已经开始玩pjax了,因为我想为我的用户提供快速,流畅的体验,而不需要大量不必要的HTTP请求并重复呈现未更改的HTML。pjax是“流体”导航的方式吗?

我在我的网站上工作得很好,而且我必须说,考虑到它为这次体验带来的差异有多大,所以启动和运行起来非常容易。

但是,我看到很少的支持pjax - 无论在StackOverflow,和一般的网站(在顶部totallyunrelated web开发一个google search返回许多成果)上。

但是,即使它尚未得到广泛支持,我仍然对它印象深刻,但我仍然可以使用它。我后来主要担心的是当我已经在没有很多支持的情况下投入我的代码时遇到大问题。所以我想确保那里没有别的东西。

是否有替代品可以实现pjax提供的我不知道的相同功能?还是很新,很多人都知道呢?或者,这只是一个糟糕/有问题的实现?

+2

with firefox 3.6.17我收到消息,'对不起,您的浏览器不支持pjax :('&读了一个关于pjax的讨论,在SO中,IE *可能*不支持它。 – yitwail 2011-05-27 07:14:01

回答

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个块/部分进行更新。

+16

“The嗅探PJAX头的请求也可能对浏览器产生反应,并且对其他浏览器很好地降级。“ - 为什么你需要这样做?PJAX头只在PJAX请求上发送,只有当浏览器支持PJAX – callum 2012-05-08 19:15:30

1

我还收到“对不起,不支持”的消息。

从这里指出的浏览器支持问题来看,我会说虽然pjax听起来有趣,但它可能还没有准备好黄金时段。

它在Firefox 3.6中不起作用,但这是一个小问题,因为FF4现在可用。但在可预见的未来,你真正的大阻滞者是IE。如果该产品甚至没有被IE9支持,那么你真的没有使用它的任何好处。

但是随着目前浏览器世界的变化率,这将会得到改善,所以请随时尝试一下,以便在日后实现它 - 如果这个答案我不会感到惊讶在一年的时间里完全不同 - 但暂时我会说这就是实验的好奇心。

+0

谢谢,我真的意识到缺乏对IE的支持,我的想法是最坏的情况,使用IE的用户将会有和使用pjax一样的体验,所有其他用户(FF4,Chrome,Safari )将有更流畅的体验。 – 2011-06-01 13:17:00

2

我与Jerad - 基于在IE中使用the demo,它似乎优雅地退化。

如果你可以和一些没有获得AJAX体验的用户一起生活,我不会看到任何东西丢失。

0

Pjax是一个很好的解决方案,它优雅地降级。如果你想要一个更深入的解决方案,你可以使用backbone-rails,但这需要多一点工作。我相信它与旧版浏览器更兼容,因为它不依赖推送状态...

4

我遇到了一些问题,试图解决1容器局部更新限制问题,所以我将一个简单的替代品放在一起,优雅地降级。 djax达到与pjax相同的效果,但它对页面之间的布局更改无动于衷,并允许您根据需要更新页面上的尽可能多的部分。