0

トラフィックの多いソーシャル コミュニティがあります。サイトのレイアウトの右側の列には、友人やあなたの地域の人々などの 40x40 ピクセルのサムネイル写真を印刷する「オンライン リスト」があります。合計 30 ~ 40 枚の画像です。

右側の列が読み込まれる直前に、これらすべての画像が読み込まれるため、ハングします。IE6 まで互換性のある、より高速なソリューションが必要です。

ページがロードされた後に ajax で画像をロードしたり、ある種のインライン gfx (IE6 でサポートされている) または他の方法を使用したりすることは可能ですか?

4

5 に答える 5

1

AJAX 経由の画像の読み込みは機能します。たとえば、jQueryを使用して簡単に実行できます。表示するすべての画像の div を定義します。おそらく、ページが最初に表示されるときに、実際の画像の代わりに「読み込み中..」画像などを表示できます。

jQuery には多くのオプションがあります。遅延読み込み用のプラグインがあり、画像をプリロードでき、画像が表示されたときに簡単にエフェクトを追加できます。

于 2009-03-30T09:20:57.020 に答える
0

問題が実行時にこれらの画像のサーバー側のサイズ変更に関連している場合は、一度サイズ変更した後にサムネイルを保存し、次のロードでサムネイルのみを提供することをお勧めします。

ほとんどのスクリプトでは、40 個の小さな画像は問題になりません。40 個のフルサイズの画像のサイズが変更されると、負荷が高くなる可能性があります。

疑似コード:

  1. ユーザーが画像をリクエスト
  2. その画像のサムネイルが存在するかどうかを確認します
  3. そうでない場合は、サムネイルを作成して提供します
  4. はいの場合、サムネイルを提供します

apache rewrite を使用して特定の .jpg|.png|etc リクエストをサイズ変更スクリプトにルーティングすることで、サーバーにこれらの画像をキャッシュさせることができます。他のサーバーにも間違いなく同様の機能があります。

于 2009-03-30T09:22:30.590 に答える
0

このページ領域をバックグラウンドで非同期にロードします。

于 2009-03-30T09:00:16.650 に答える
0

はい、画像の読み込みを遅らせることができますが、<noscript>タグ内に通常の HTML バージョンを含めて、より単純なユーザー エージェント/スパイダーがページを表示できるようにすることもできます。

もう 1 つの手法は、多数のサブドメインから画像をロードすることです。これは、通常、ブラウザーは各ドメインに対して少数の接続しか開かないためです。たとえば、サイトが foo.com にある場合、a.foo.com、b.foo.com、および c.foo.com から静的画像をロードします。

于 2009-03-30T09:13:22.453 に答える
0

サーバーもクライアントもこれらの画像を効果的にキャッシュできないため、30 ~ 40 枚の動的画像を表示しないことも検討します。

于 2009-03-30T09:17:55.000 に答える