1

のヘッドセクションにこれがありindex.phpます:

<link rel="apple-touch-startup-image" href="images/screenLD.png" media="(device-width:320px)" /><!--iPod/iPhone Portrait LD 320x460-->
<link rel="apple-touch-startup-image" href="images/screenHD.png" media="(device-width:320px)and(-webkit-device-pixel-ratio:2)" /><!--iPod/iPhone Portrait HD 640x920-->
<link rel="apple-touch-startup-image" href="images/screenPortraitLD.png" media="(device-width:768px)and(orientation:portrait)" /><!--iPad Portrait LD 768x1004-->
<link rel="apple-touch-startup-image" href="images/screenLandscapeLD.png" media="(device-width:768px)and(orientation:landscape)" /><!--iPad Landscape LD 748x1024-->
<link rel="apple-touch-startup-image" href="images/screenPortraitHD.png" media="(device-width:1536px)and(orientation:portrait)and(-webkit-device-pixel-ratio:2)" /><!--iPad Portrait HD 1536x2008-->
<link rel="apple-touch-startup-image" href="images/screenLandscapeHD.png" media="(device-width:1536px)and(orientation:landscape)and(-webkit-device-pixel-ratio:2)" /><!--iPad Landscape HD 1496x2048-->

そしてこれでcache.manifest

CACHE MANIFEST

index.php

images/screenLD.png
images/screenHD.png
images/screenPortraitLD.png
images/screenLandscapeLD.png
images/screenPortraitHD.png
images/screenLandscapeHD.png

しかし、iPhone ユーザーが他に 5 つの役に立たない大きな画像をキャッシュする必要があることは容易に理解できます。

彼が必要とする画像だけをキャッシュするにはどうすればよいですか?


ところで、すべての Apple デバイスで動作するスプラッシュ スクリーン コードが必要な場合は、私のコードが最適です。

4

2 に答える 2

2

python / phpスクリプトを使用して、デバイスのUser-Agent文字列を確認します。cache.manifest次に、特定のデバイスに必要なキャッシュリストを使用してのさまざまなバージョンを提供します。User-Agent文字列の形式が正しくないか不明な場合は、すべてが含まれている上記の文字列を提供します。

例:

  1. 次のようなスクリプトを作成します。cache_manifest.php
  2. $_SERVER['HTTP_USER_AGENT']をサニタイズします
  3. ユーザーエージェント文字列からデバイスの名前を探します。
  4. echo指定されたデバイスのLD/HDファイルを(''経由で)出力します。ユーザーエージェント文字列では、デバイスにRetinaディスプレイがあるかどうかを正確に判断することはできません。
  5. RewriteRule経由でトラフィックを/cache.manifestリダイレクトcache_manifest.php

Htaccessファイルは次のようになります。

RewriteEngine On
RewriteRule ^cache\.manifest$ /cache_manifest.php [L]

iPhoneのユーザーエージェント文字列は次のようになります。

Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5

iPadのユーザーエージェント文字列は次のようになります。

Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
于 2012-07-25T19:10:49.967 に答える
0

実際には、apple-touch-startup-image タグで使用されるイメージをキャッシュする必要はありません。デバイスは、最初の実行時に (何かをキャッシュする前に) 必要なイメージをダウンロードします。それらがキャッシュされるまでには、それらはもう必要ありません。

于 2012-08-13T04:48:00.100 に答える