web-dev-qa-db-ja.com

pjaxは「流動的な」ナビゲーションに行く方法ですか?

pjax で遊び始めました。これは、不要なHTTPリクエストを大量に実行したり、変更されていないHTMLを繰り返しレンダリングしたりすることなく、高速で流動的なエクスペリエンスをユーザーに提供したいためです。

私はそれを私のサイトでかなりうまく機能させています、そしてそれが経験にどれほどの違いをもたらすかを考えると、立ち上げて実行するのは驚くほど簡単だったと言わなければなりません。

ただし、 StackOverflow と一般的なWebの両方で pjax -のサポートはほとんど見られません( google search は多くを返します一番上の結果 完全に無関係 Web開発に)。

しかし、私は感銘を受けたので、まだ広くサポートされていなくても、それを使用することができます。私の主な関心事は、後で多くのサポートなしでコードを投資したときに大きな問題に遭遇することです。だから私はそこに何か他のものがないことを確認したかったのです。

私が気付いていないpjaxが提供するのと同じ機能を実装するための代替手段はありますか?それとも、まだ多くの人がそれを知らないほど新しいのですか?それとも、それは単に悪い/問題のある実装ですか?

36
Jerad Rose

http://caniuse.com/#search=history は、現在のバージョンのpjaxをサポートするものを示します。

PJAXヘッダーの要求をスニッフィングするサーバーサイドコードもブラウザーに反応し、他のブラウザーではうまく機能しなくなる可能性があります。

http://forum.kohanaframework.org/discussion/8869/kopjax-simplistic-pjax-jquery-ajax-module/p1#Comment_6009 は代替オプションのまともなリストです。

他のブラウザのサポートがないことを気にしない場合、またはそうするために変更を加える場合、私が見ることができるPJAXの唯一の欠点は、更新するために1つのチャンク/部分が必要なことです。

8
Denis Hoctor

1コンテナーの部分的な更新の制限を回避しようとして問題が発生したため、正常に機能が低下する単純な代替手段をまとめました。 djax は、ページ間のレイアウト変更に影響されないことを除いて、pjaxと同じ結果を達成し、ページ上のパーシャルを好きなだけ更新できるようにします。

4
Brian Zeligson

私はJeradと一緒です-IEでの使用に基づいて デモ 、それは優雅に劣化するようです。

AJAXエクスペリエンスを取得していない一部のユーザーと一緒に暮らすことができれば、失うものは何もありません。

2
Jed Bowtell

「申し訳ありませんが、サポートされていません」というメッセージも表示されます。

ここで指摘されているブラウザサポートの問題から判断すると、pjaxは面白そうに聞こえますが、おそらくまだプライムタイムの準備ができていません。

Firefox 3.6では機能しませんが、FF4が利用可能になったため、これは小さな問題です。しかし、当面の間、あなたの本当に大きなブロッカーはIEです。製品がIE9でもサポートされていない場合は、それを使用しても実際には何の恩恵も受けていません。

しかし、現時点でのブラウザの世界の変化の速度で、これは改善されるので、後日実装することを視野に入れて自由に試してみてください-この答えが完全に異なっていても驚かないでしょう一年の時-しかし、当分の間、それはそれだけだと思います:実験的な好奇心。

1
Spudley

Pjaxは優れたソリューションであり、正常に劣化します。より詳細なソリューションが必要な場合は、バックボーンRailsを使用できますが、少し手間がかかります。プッシュ状態に依存しないため、古いブラウザとの互換性が高いと思います...

0
andrewajo