質問

私はこれをヘッドセクションに持っています 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 デバイスで動作するスプラッシュ スクリーン コードが必要な場合は、私のコードが最適です。

役に立ちましたか?

解決

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

例:

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

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top