2

私はこの質問が尋ねられたことを知っています.facebook/gmailのようなサイトをコンテンツにロードする方法.

しかし、答えは地面に薄いです。助けるために、私はいくつかの調査を行いました。誰かがこれを調べて、何らかの指針を与えることができますか?

私が行くことができる3つの異なるルートがあります:

1) jquery.load (html でロード)、css でロード、getscript JS。

私がまだ理解しておらず、理解する必要があるのは、どの CSS / JS が動的にロードされたかを追跡する方法です。IOW ユーザーがページにアクセスしたときに、同じ CSS/JS をロードし続けたくありません。それらはすでにキャッシュされています。

グローバル JS 変数または非表示の div を使用するのは賢明でしょうか?

2) ビッグパイプ。

.net での実装を見たことがあります。しかし、PHPの実装を知っている人はいますか。これは github で見られます: https://github.com/dynamoid/bigpipe しかし、あまり感銘を受けませんでした。他の実装はありますか?

3) Jquery テンプレート

私はこれについて少し研究を行ってきました。これが最善の方法でしょうか?テンプレートを最初にロード(およびキャッシュ)してから、データを適用することができたとしても。ページごとにどの CSS と JS がロードされているかを追跡することについては、まだ曖昧です。

最後に、ベスト プラクティスの選択について説明しているリソースをご存知でしたら、お知らせください。

ありがとう :)

4

2 に答える 2

2

私は戻ってきてこの質問に答えると思いました。

このブログに出くわした後:http://jmperezperez.com/私は自分自身の解決策を思いついた。

1)ヘッダー、コンテンツ、フッターのワイヤーフレームを作成しました。ヘッダーとコンテンツ領域には、後でコンテンツをロードするためのIDが与えられました。

2)Jqueryアドレスを使用して、ページを更新せずにサイトをナビゲートするときにアドレスバーを更新することができました。

3)バックエンドで、jsonをアセンブルしてコンテンツをフィードバックします。コンテンツは複数のdivになり、JSとCSSをロードします。

4)次に、CSSとJSを動的にロードし、すでにロードされているものを追跡するスクリプトを作成しました。ページが複数回要求された場合、CSSとJSを2回ロードすることはできません。

たぶん後で、私は物事をもっとうまくやる方法をチェックします:http: //jmperezperez.com/talk-facebook-frontend-javascript/

今、私のサイトはfacebook/gmailとまったく同じように動作します。ログインとログアウトを除いて、ページはまったく更新されません。

jqueryを使用してシングルページアプリケーションを処理するgithubリポジトリを誰かが知っている場合。お知らせ下さい。

ありがとう

于 2011-03-18T23:43:52.963 に答える
0

PHP と Prototype で書かれた garo バージョンhttps://github.com/garo/bigpipeなどではなく、bigpipe 実装を使用することを強くお勧めします。

Web サイトで発生する問題は、Google などのボットを検索する Javascript ベースの Web サイトであるため、サイトのコンテンツを適切にインデックス化できないため、コンテンツがサイトの他の部分に存在するのに対し、bigpipe が検出することです。ボットがページを見ている場合はバイパスし、通常どおりレンダリングします。

wordpress インストールで bigpipe をテストしたところ、読み込み時間が 3000% 改善されたと言えます。これは、ページの読み込み時に画像、JS、CSS ファイルなどの外部データを読み込むボトルネックが原因です。私はこれを PHP Speedy というプラグインと結び付けました。このプラグインは、役に立たない空白をすべてクリーンアップし、css と javascript とその他すべてを 1 行のコードに圧縮するように変更しました。AJAX メソッドに頼るのではなく、サイトに実装する価値があることがわかります。JQuery を使用している場合は、noConflict 関数を使用して、2 つの異なる JS ライブラリが競合しないようにする必要がある場合があります。

ここから取得できます: https://github.com/garo/bigpipe

実際に使用すると、実際に使用するよりも優れていることがわかります。

于 2012-12-10T07:09:48.283 に答える