36

我已经开始使用pjax 了,因为我想为我的用户提供快速、流畅的体验,而不需要大量不必要的 HTTP 请求和重复呈现未更改的 HTML。

我让它在我的网站上运行得相当好,我必须说它非常容易启动和运行,考虑到它对体验有多大的影响。

但是,我看到对pjax的支持很少——无论是在StackOverflow上,还是在一般的网络上(谷歌搜索在顶部返回许多与网络开发完全 无关的结果)。

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

是否有替代方案可以实现我不知道的 pjax 提供的相同功能?还是它太新以至于没有多少人知道它?或者,它只是一个糟糕/有问题的实现吗?

4

5 回答 5

8

http://caniuse.com/#search=history会告诉你什么支持当前版本的 pjax。

嗅探 PJAX 标头请求的服务器端代码也可以对浏览器做出反应,并为其他浏览器很好地降级。

http://forum.kohanaframework.org/discussion/8869/kopjax-simplistic-pjax-jquery-ajax-module/p1#Comment_60090是一个不错的替代选项列表。

如果您不介意缺少对其他浏览器的支持或对此进行更改,那么我可以看到 PJAX 的唯一缺点是需要更新 1 个块/部分。

于 2011-06-01T12:02:53.807 回答
4

我在尝试解决 1 容器部分更新限制时遇到了问题,因此我整理了一个简单的替代方案,可以优雅地降级。djax实现了与 pjax 相同的结果,除了它对页面之间的布局更改无关紧要,并允许您根据需要更新页面上的尽可能多的部分。

于 2012-02-23T21:25:49.983 回答
2

我和 Jerad 在一起——基于在 IE 中使用演示,它似乎可以优雅地降级。

如果您可以忍受一些没有获得 AJAX 体验的用户,我看不出有什么损失。

于 2011-06-02T01:18:46.240 回答
1

我也收到“抱歉,不支持”消息。

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

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

但是随着目前浏览器世界的变化速度,这种情况会有所改善,所以请随意尝试一下,以便在以后实施它——如果这个答案完全不同,我不会感到惊讶一年的时间——但就目前而言,我想说的仅此而已:一种实验性的好奇心。

于 2011-06-01T12:14:43.817 回答
0

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

于 2011-11-17T06:12:07.367 回答