私はちょうど読んでいて、どういうわけかRightJSに興味を持った。私はメインのjavascriptフレームワークとしてjqueryを使用してきましたが、今は何か新しいことを学びたいと思っていました。ただし、RightJSがPJAXを実行できることを知りたいです。PJAXがどのように機能するかを理解している限り、どのフレームワークにも実装できることを認識しています。しかし、誰かがこれを構築する方法について私を案内してくれることを願っています。
助けてくれてありがとう。
私はちょうど読んでいて、どういうわけかRightJSに興味を持った。私はメインのjavascriptフレームワークとしてjqueryを使用してきましたが、今は何か新しいことを学びたいと思っていました。ただし、RightJSがPJAXを実行できることを知りたいです。PJAXがどのように機能するかを理解している限り、どのフレームワークにも実装できることを認識しています。しかし、誰かがこれを構築する方法について私を案内してくれることを願っています。
助けてくれてありがとう。
ほとんどの場合、PJAX は次のもので構成されます。
すべてが正常に低下するようにするには、JavaScript を使用して内部リンクに PJAX リスナーを適用する必要があります。これにより、JS が無効になっているユーザーに対してすべてのリンクが正常に機能します。また、ユーザーのブラウザーが pushstate API などをサポートしていることを確認するために、いくつかの機能チェックを行う必要があります (そうでない場合は、すべてを通常のリンクのままにしておきます)。
どのように物事を達成できるかを見てみたい場合は、私は実際にPJAXのネイティブJSバージョンを自分で実装しました: https://github.com/thybag/PJAX-Standalone/blob/master/pjax-standalone.js
さらに、ここで JQuery PJAX のソースを参照することもできます: https://github.com/defunkt/jquery-pjax/blob/master/jquery.pjax.js
@Carl のように、pushState + AJAX ナビゲーションのスタンドアロン実装を実装しました。 HTMLDecorを参照してください。
PJAX の理念は次のとおりです。
HTMLDecor の哲学は次のとおりです。
<link>
サイトの装飾 +HTMLDecor.js
スクリプトで構成されます。<link>
サイトの装飾を取得してページにマージします。pushState()
を更新し、URL を更新するために呼び出します。つまり、すべてのサイトの装飾を別のファイルに入れ、HTMLDecor.js
それをブラウザー内の独自のコンテンツとマージさせます。その後、pushState のサポートは無料で提供されます。何も構成する必要はありません。
HTMLDecor.js
圧縮して gzip した場合、わずか 6kB であり、ほとんどの js フレームワークに比べて小さいです。RightJS を通常のページ (独自のコンテンツのみを含める必要があります) から除外して、サイトの装飾ページにのみ配置することができます (すべきです)。
HTMLDecor のデモを見ると、おそらくこれはより理にかなっています。私のブログを見てください。ページ ソースを表示すると、ページ上部の広告、下部のナビゲーション バー、および連絡先ポップアップがページ ソースの一部ではないことがわかります。それらはすべて AJAX で追加されます。
ブログ記事の 1 つに移動すると、pushState + AJAX が使用され (ブラウザーでサポートされている場合)、広告とナビゲーション バーが更新されていないことがわかります。
HTMLDecorについて詳しく紹介している記事もあります。
PJAX is for sissies, that's official :)
Use AJAX + History.js (it has hooks for RightJS)