デバイスが網膜をサポートしている場合、Apple.comは常に最初に標準画像を表示し、次にjavascriptを使用して網膜画像をロードします。
アップルがHTTPリクエストを減らすためにCSSメディアクエリを直接使用しないのはなぜですか?
デバイスが網膜をサポートしている場合、Apple.comは常に最初に標準画像を表示し、次にjavascriptを使用して網膜画像をロードします。
アップルがHTTPリクエストを減らすためにCSSメディアクエリを直接使用しないのはなぜですか?
簡単な答え-ブラウザ-プリフェッチ。
JSを使用して次のいずれかを行う以外に、彼らができることは何もありません。
ここでの目標は、HTTPリクエストを減らすことではありません。目標は、大部分が冗長なデータの同時HTTPリクエストを減らすことです。ブラウザが高解像度バージョンをサポートしていないが、とにかくその帯域幅を使用することを余儀なくされている場合はさらにそうです。
JSを実行する利点:
最終的に、仕様は、要素の属性と<picture>
組み合わせて、ブラウザが独自の内部クエリとページプロファイリングに基づいてメディアをインテリジェントに処理できるようにするJSフリーの方法を可能にします(例:LTEのユーザーです)接続、またはそれらは現在どこかで丘の2Gにあります)。srcset=
media=
<source>
初期ロードの時間を節約するため。特にワイヤレス/3gのような遅い/むらのある接続で。
画像置換コード(https://gist.github.com/2029936)の適切なソース、特に関数__replaceNextQueueを見ると、実際に画像を置換する前にタイムアウトが設定されていることがわかります。
これは、新しい画像が要求される前に、UIの最初の描画を含むブラウザイベントキューが終了したことを確認するために行われます。これにより、ブラウザは小さい(ファイルサイズ)画像をダウンロードでき、ユーザーは大きい画像を開始する前に新しいアクションの実行を開始できます。
UIを最初に描画するまで、大きな画像のダウンロードを延期すると、特に低速の接続で時間を節約できます。
すべての画像がCSS経由で読み込まれるわけではないため、一部の画像はHTMLを使用しています。