2011-08-27 10 views
14

私はオフラインWebアプリケーションを構築しており、キャッシュマニフェストを使用したいと考えています。現在、私のキャッシュマニフェストは次のようになります。外部ファイルをキャッシュマニフェストに含めることはできますか?

CACHE MANIFEST 
# Change the version number below each time we update a resource. 
# Rev 1 
index.html 
photo.html 
js/photo.js 
css/photo.css 
http://code.jquery.com/jquery-1.6.1.min.js 
http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js 
http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css 
http://maps.google.com/maps/api/js?sensor=false&region=GB 

キャッシュマニフェストの外部、CDNでホストされているのjQuery、jQueryのモバイルとGoogleマップファイルをインクルードする理由ないはありますか?

私は1つを考えることはできませんが、私は自分より賢く、それらを求めるだろう:)

+0

私は答えが正しいとは思いません。 [1] [1] [SO上でこの他の質問]をご覧ください。http://stackoverflow.com/questions/10795268/can-i-use-html5-cache-manifest-to- store-third-party-js – user1632306

+1

回答を再確認してください。私は受け入れられた答えが間違っていると思うし、それは混乱を引き起こしました。私は情報源とは別の答えを出しました。 –

+0

有効な回答 – davidtaubmann

答えて

-6

あなたが傾くと思いました。キャッシュマニフェストは同じドメインのファイルに対してのみ機能します。クロスドメインリソースのホワイトリストを作成する場合は、ドメインからプロキシする必要があります。

+0

Ahを再確認してください。それはいい理由だろう。ありがとう。 – Richard

+5

この回答は**間違いです**画像は少なくともですが、多分スクリプトもあります。もう一度チェックして、ソースを提供するか、答えを削除/修正してください。これはGoogleの検索結果に表示され、非常に混乱しています。 –

+0

確かに、それは間違っています(クロム) – markmarijnissen

19

はい。実際にはにはにマニフェストの外部画像が含まれている必要があります。ネットワーク接続が利用可能な場合でも、一部のブラウザではそれらはまったく読み込まれません。

画像となります(少なくともFirefoxではChromeをテストしませんでした)。このセクションでは、次の項目について説明します。

specは、明示的に述べている:

オフラインアプリケーションキャッシュマニフェストでもOKのように外部URLとマニフェスト報告

http://manifest-validator.com/絶対パス、あるいは絶対URLを使用することができます。

これはスクリプトにも当てはまりますが、Firefoxのクイックテストはスクリプトが期待どおりにキャッシュされているように見えます。

2

MobileSafariには、SSLの下では、applicationCache内のすべてのパスが同じ発信元ポリシーに準拠している必要があるというルールがあります。 applicationCacheは外部からのパスで正常にキャッシュされますが、Web Inspector-> Storage-> ApplicationCacheテーブルにリストされているリソースは表示されず、オフラインでは使用できなくなります。

この動作は、Appleのドキュメントに記述が、iOSの10.2で、まだ明らかではないされていますhttps://developer.apple.com/library/content/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/OfflineApplicationCache/OfflineApplicationCache.html

+0

[W3仕様](https://www.w3.org/TR/2011/WD-html5-20110525/offline)html#writing-cache-manifests):マニフェストがhttpsの場合、すべてのURLはマニフェストと同じ起源でなければなりません – mu3

関連する問題