問題タブ [cache-manifest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
742 参照

performance - HTML5 キャッシュ マニフェストを使用してパフォーマンスを向上させますか?

Dive into HTML5: Offline web apps: キャッシュ マニフェストを読んでいたときに、アイデアが浮かびました。それ (HTML5 キャッシュ マニフェスト) を使用して、オフライン機能用にファイル (CSS/JS/Images/etc) をキャッシュできますか。だけでなく、パフォーマンスのために。ユーザーが再度サイトにアクセスしたときに、これらのファイルをロードする必要はありませんか? または、(キャッシュ マニフェストによってキャッシュされたファイル) はオフライン モードでのみ機能しますか?

0 投票する
2 に答える
14927 参照

html - HTML5キャッシュマニフェスト:フォールバックセクションとネットワーク*

Dive into HTML5 :キャッシュマニフェスト:フォールバックセクション

このコードブロックが正確に何をするのかを考えると、URLからはわかりません。フォールバックセクションは、何かが見つからない場合、offline.htmlページを表示することを意味しますか

その後、network: *すべてのリソースがキャッシュされますか?それはまた言います

各ページで共通のCSS、JavaScript、および画像を使用します。これらの各リソースは、明示的にリストする必要があります。CACHE

network: *これは、すべてをキャッシュすると言っているように見えるところと矛盾しているようですか?

0 投票する
2 に答える
1277 参照

html - HTML5 オフライン キャッシュでの HTML 以外のページの遅延読み込み

HTML5 Offline Web アプリケーションの仕様には、HTML ページをキャッシュに遅延ロードする方法の例が示されています。

これについては、Dive Into HTML5でウィキペディアの例を使用して説明しています。Web サイトの読み込み時にウィキペディア全体をキャッシュする必要はありませんが、ユーザーがアクセスするすべてのページをキャッシュする必要があります。オフライン中にユーザーがアクセスしたページには、カスタム エラー ページが表示される必要があります。

このアプローチの秘訣は、各 HTML ページにマニフェストを明示的に含めることです。マニフェストを含むページは、明示的に言及しなくても自動的にキャッシュに含まれます。したがって、この例では HTML ページをネットワークから読み込み、キャッシュに挿入します。オフラインの場合、キャッシュ内のすべてのページが機能し、キャッシュされていないページはデフォルトで offline.html ページになります。

問題は、マニフェストを含めることができない HTML 以外のファイルの場合です。具体的には、JavaScript でゲームを作成しており、そのゲームにはたくさんの音楽トラックがあります。次の要件があります。

  • ゲームのロード時にユーザーがすべての音楽をダウンロードする必要はありません。
  • ユーザーがオンライン中に新しい音楽トラックに遭遇した場合、そのトラックをダウンロードしてキャッシュする必要があります。
  • ユーザーがオフライン中に新しい音楽トラックに遭遇した場合、無音が聞こえても問題ありません。
  • ユーザーがオフライン中に既に聞いた音楽トラックに遭遇した場合は、キャッシュから再生する必要があります。

音楽ファイルが HTML の場合、上記の手法を使用して、manifest=...最初に読み込まれたときにキャッシュに入れるための属性を与えることができます。しかし、それらは HTML ではないので、それはできません。HTML 以外のリソースをロード時にキャッシュに保存する方法はありますか?

注: 私は、従来の HTTP キャッシュ メカニズムにあまり詳しくありません。代わりに使用できる可能性がありますが、私の経験では、ファイルがブラウザーによってキャッシュされていても、ブラウザーがオフラインの場合は機能しません。この方法で実行できる場合、キャッシュ ヘッダーをどのように構成すればよいですか?

0 投票する
3 に答える
572 参照

html - HTML5 オフライン ストレージ - キャッシュ マニフェスト ネットワーク

マニフェスト ファイルを書き込もうとしていますが、FF5 で奇妙な問題が発生しています。私のマニフェスト ファイルは次のようになります。

何か案は?

0 投票する
1 に答える
163 参照

html - HTML5 オフライン キャッシュの更新

オフライン キャッシュを更新する方法を教えてください。サーバー html、css、js、画像 (フォルダー)、およびマニフェスト ファイルに 5 つのファイルがあります。css ファイルにいくつかの変更を加え、古い css に置き換えましたが、ページの読み込み時に影響がありません。iPadアプリにURLを埋め込んでいるため、最初にキャッシュされた古いデータを表示しています。

0 投票する
2 に答える
1840 参照

ruby-on-rails-3 - アセット パイプラインでマニフェストをキャッシュする

Railsアセットパイプラインでhtml5キャッシュマニフェストを作成する最良の方法は何ですか? そこに含まれるすべてのアセットのパスを持つ erb ファイルを app/assets に追加することを考えています。これは機能しますが、すぐにいくつかの問題があります。

  • バージョン番号を増やすにはどうすればよいですか?
  • http コンテンツ タイプが正しく設定されていることを確認するにはどうすればよいですか?
0 投票する
7 に答える
3825 参照

html - HTML5キャッシュ-1つのURLに複数の異なるキャッシュを設定することは可能ですか?

すべてのURLを単一のキャッシュマニフェストにリンクできます。しかし、同じURLにリンクされた複数のキャッシュマニフェストが必要です。理由は次のとおりです。

キャッシュしたいファイルの中には、めったに更新されずに大きくなるものがあります。したがって、キャッシュが更新されるたびに、これらの大きなファイルは、変更されていない場合でも再ダウンロードされます。だから私はキャッシュを分割したいと思います。これらの1つのキャッシュはめったに更新されない大きなファイル用で、もう1つのキャッシュは頻繁に更新される軽いファイル用です。

HTML5キャッシュを分割する方法を知っていますか?

0 投票する
1 に答える
4761 参照

ios - モバイル Safari: オーディオ + キャッシュ マニフェスト

私はいくつかのボタンをクリックするだけで非常に短いサウンドビットを再生する小さな Web アプリを持っています。iOS (iPad) 上のモバイル Safari を明示的にターゲットにしています。

モバイル Safari でのこのコンテキストにおける HTML5 オーディオのいくつかの「欠点」についてここや他の場所で読み、いくつかの「ハック」とトリックを試した後、私は Safari が単純に見える状況に行き詰まりました (より適切な言葉がないため)。壊れた:

ボタン A をクリックすると、サウンド A を再生できます (開始までに長い時間がかかります — [再度] ダウンラディングしていると思いますか?)。その後、ボタン B をクリックすると、すぐにサウンド A が再び再生されます。ボタン C も同様です。場合によっては、別のサウンドが再生されることもあります。しかし、ほとんどが音 A です。使用されている形式は .aiff でしたが、現在は .m4a です。

自分でいくつかの小さなバージョンを作成した後、サウンドの読み込み/再生などを処理するためにBuzzライブラリを使用することにしました.

おかしなことに、彼らのデモにはゲームが含まれており、これは私が必要しているものとほとんど同じであり、同じ欠陥のある動作を引き起こします. モバイル Safari の任意のタブのオーディオ プレーヤーが、Buzz デモ ゲーム (!) から特定のサウンドを再生する状況にさえなりました。

キャッシュ マニフェストが Apple のプリロード制限を克服し、アプリがオフライン モードでボタンを押した直後にサウンドを再生するように強制するのに役立つことを期待していました。しかし、アプリ全体がキャッシュされていることを確認した後、オフライン モードでサウンドを再生/聞くことができません。

このようなものをどうにかして機能させることができた人はいますか?(— Apple が特定のことをどのように処理するかを見てきたので、あまり反応は期待できませんが…)


更新 1:

この回答の例は、同じ効果を引き起こします: iPad で HTML5/Javascript を使用してオーディオを合成する方法


更新 2:

iOS (および Safari) を更新すると、オーディオのバグが解決されるようです。ただし、キャッシュ マニフェストはオーディオ ファイルには影響しないようです。これらのファイルはまったく利用できません。

キャッシュ マニフェストを削除した後、アプリは正常に動作しますが、「ホーム画面」に追加してリロードすると、オーディオも再生されなくなります。

0 投票する
1 に答える
792 参照

iphone - iPhone でキャッシュ マニフェストがすぐに更新されない

iPhone でキャッシュ マニフェストを使用してサイトを実験しています。ブラウザがマニフェスト ファイルをキャッシュしないように、.htaccess ファイルに次を追加しました。

ページの 1 つを変更し、マニフェスト ファイルにコメントを追加した場合でも、変更を確認するにはページを複数回更新する必要があります。

サイトを iPhone デスクトップに追加し、サーバー上のサイトに変更を加え、ショートカットからサイトをロードした場合、変更を確認するには手動で一度更新する必要があります。

この種の問題は、実際のサイトでどのように解決されますか? ネイティブ アプリのように機能する 1 ページのサイトを作成したが、インターネット接続が利用可能になったときにバックグラウンドで自動的に更新されるようにするにはどうすればよいでしょうか? ページを手動で更新するようにユーザーに依頼する必要がありますか? ありがとう