3

次のようなマニフェストを作成しようとしています:

CACHE MANIFEST

CACHE:
offline.jpg
http://externalSite/cacheDemo/offline.jpg

FALLBACK:
/   offline.jpg
http://externalSite/    http://externalSite/cacheDemo/offline.jpg

そして、私のhtmlで

<img src="unavailable.jpg" />
<img src="http://externalSite/cacheDemo/unavailable.jpg" />

ローカルの使用できないイメージのフォールバックは機能しますが、外部のイメージは機能しません... 外部リソースのフォールバックを指定することはできますか? 特にこれに関するドキュメントが見つかりません...

4

1 に答える 1

0

それが仕様外であることは残念であり、その理由について確固たる理由は見つかりませんでした。これは、アップロードされた画像がローカルの状態を変更できず、代わりに接続されたリソースに保存する必要がある、CDN を使用するすべての人、または12 要素スタイルのアプリケーション (Heroku でのホスティングなど)として開発する開発者にとって正当な必要性です。幸いなことに、必要なことは Javascript で実現できますが、フォールバックしようとしているリソースの種類によって異なります。

onError特に画像の場合は、次の属性に依存できます。

<img src="http://externalSite/cacheDemo/unavailable.jpg" onError="this.onError = null; this.src='offline.jpg'" />

フォールバック画像が利用できない場合、無限ループを防ぐために onError を消去していることに注意してください。これに関する詳細な戦略については、jQuery/JavaScript で壊れた画像を置き換える方法を参照してください。

ただし、.js または .css の場合、onError 属性がサポートされていないため、この手法は信頼性が低くなります。ただし、オフサイトの .js および .css にフォールバックする状況はあまり一般的ではありません。通常、これらのリソースはすべて事前に明示的にキャッシュできるためです。

于 2014-02-17T18:26:23.377 に答える