1

ユーザーの操作によって画像のソースが変わるアプリケーションを開発しています。この方法で表示できる画像は約 200 枚あり、ある時点で少なくとも 90% オフの画像が表示されることは確実です。

ちらつきを防ぐために、画像プリローダーを追加しました。

しかし、IMG の SRC 属性を変更すると、画像が既に読み込まれているにもかかわらず、ブラウザーは新しい Get Request を送信します。

プロファイラによると、このようなリクエストには平均で約 30 ミリ秒かかり、ブラウザがキャッシュから画像をロードするだけです。

ブラウザが追加のリクエストを送信して画像を直接表示するのを防ぐ方法はありますか、それとも不可能ですか?

それが不可能な場合、コードに 200 個の画像すべてを入れて、1 つを表示する (またはより正確に表示する) ように切り替えるのは悪い習慣でしょうか?

プリローダー内のオブジェクトとしてキャッシングとイメージを使用し、それらのみを切り替えるのはどうですか?

私が考えていた他のことは、それらすべての画像をスプライトに入れて、背景の位置だけを変更することでした.

最良の選択肢は何だと思いますか?

4

1 に答える 1

0

あなたが説明しているペースの速い画像交換のタイプについては、CSS スプライトをお勧めします。画像が巨大で、視聴者にかなりの数の低速ユーザーが含まれる可能性がある場合、これは最適ではない可能性がありますが、それを隠すためにいくつかの手順を実行できます (最初に小さな静止画像を読み込んでから、大きな画像の読み込みが完了した後の動的要素)。

サイトの他の側面は完成しませんでしたが、http: //www.premiumframes.com/ でこれらのタイプの大規模なスプライト技術を使用して、階層化された画像の切り替えを行い、ドロップダウン セレクターに画像を入力しました。かなりの量のデータがロードされますが、フレームを買う余裕のある視聴者にとって、その会社はパフォーマンスに非常に満足していました. あなたのニーズはそれほど極端なものではないと思うので、低層から中層のユーザーのパフォーマンスを向上させることができるはずです。

于 2013-03-20T13:29:07.860 に答える