問題タブ [application-cache]
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.
html - `/` だけの場合、ホームページに HTML5 オフライン フォールバックを設定するにはどうすればよいですか?
最新のデータベース駆動型 Web サイトとして、私たちのホームページ/
は/index.html
. しかし、ホームページだけにオフライン フォールバックを設定しようとすると、(仕様が意図したとおり) サイト上のすべてのリソースにフォールバックが設定されます。家のパスを変更する以外にこれを防ぐ方法はありますか?
html - キャッシュ マニフェストがまだ機能しないのはなぜですか?
chorme のコンソールで見ていますが、何も出力されず、アプリケーション キャッシュもありません。なぜこれが起こるのですか?ありがとう
ここに私のhtmlがあります:
test.manifest ファイルの内容は次のとおりです。
これは、ログを出力するための私の js コードです。
chorme のコンソールで見ていますが、何も出力されず、アプリケーション キャッシュもありません。なぜこれが起こるのですか?ありがとう
html - ApplicationCache は何もキャッシュしません
オフライン時に Web アプリを表示できるようにしようとしています。
- 私
index.html
はマニフェストを次のように参照します。<!DOCTYPE html manifest="manifest.appcache">
- MIME タイプは正しいです: my
.htaccess
hasAddType text/cache-manifest .appcache
これはmanifest.appcache
次のようになります。
ただし、何もキャッシュされません。
applicationCache.status
JavaScriptコンソールを呼び出すと、戻ります0
(1
成功した場合は戻るはずです)。
Chrome で表示chrome://appcache-internals/
すると、アプリケーション キャッシュがないこともわかります。
私は何を間違っていますか?
firefox - Firefox はオフライン キャッシュ マニフェストからページをロードしませんが、Chrome では正常に動作します (+ キャッシュ マニフェストのトラブルシューティングのヒント)
これは基本的に、回答されていない SO の質問と同じです: Offline Web App not caching on Firefox but ok on Chrome
私は同じ問題を経験しており、キャッシュマニフェストを実装しようとする難解な謎とトラップを理解しようとしている人に役立つ可能性があるため、もう少し情報を提供します。
問題: ページの再読み込み/更新をクリックすると、オフライン キャッシュからページが再読み込みされるはずですが、そうではありません。
Chrome 23 では正常に動作します。インターネットから切断してページを更新すると、正常に読み込まれ、コンソールに Application Cache NoUpdate イベントが表示されます。
ただし、Firefox 15.0.1 では 404 ページが表示されます。
トラブルシューティング (Firefox): Firebug に移動し、DOM をクリックしてから、applicationCache をクリックします。ステータスは 0 を示します。これは、キャッシュされていない (ページがオフラインで保存されていない) ことを意味します。
トラブルシューティング (Firefox): [Firefox オプション] -> [詳細設定] に移動し、[オフライン Web コンテンツ] と [ユーザー データ] を確認します。私のドメインがオフラインで使用するために 1.4 MB のデータを使用していることを示しています。(これは、ページがキャッシュされているかどうかを確認するのに適した場所です)。
トラブルシューティング (Firefox): 新しいタブを開き、about:cache に移動します。ここに、オフライン キャッシュ デバイスの見出しが表示されます。ここには、オフライン キャッシュ ファイルが保存されるキャッシュ ディレクトリが表示されます。List Cache Entries をクリックすると、オフライン キャッシュ マニフェストにファイルが表示されます。
ここで奇妙な点が 2 つあります。1) リストのファイルをクリックすると、「キャッシュ エントリ情報 選択したキャッシュ エントリは利用できません」という空白のページが表示されることです。ただし、ファイルは存在し、キャッシュ ディレクトリに空白ではありません 2) キャッシュ マニフェストのすべてのファイルがリストされていますが、呼び出しているページはここにはリストされていません (Chrome DevTools では、マニフェストに次のように表示されます)。マスター: キャッシュ マニフェスト ファイルに明示的にリストされていなくても、自動的にキャッシュされます)。
コールド (空の) キャッシュでは、ページをロードすると、コンソールにはチェック、ダウンロード、進行状況、およびキャッシュされたイベントが表示されますが、キャッシュのステータスはキャッシュされていません。基本的にキャッシュファイルはダウンロードされますが、アクセスできません。Firebug DOM applicationCache は次のように述べています: オフライン キャッシュに 0 アイテム (これは about:cache および Options -> Advanced に示されているものと矛盾します)。ステータスは 1 で、アイドル状態を意味します。オンラインのときに Firebug の [ネット] タブを見ると、200 OK 応答のあるページに対する GET 要求が表示されます。Expires 設定は Wed Dec 31 1969 を示しています。これは、ページが常にフェッチされることを意味すると思います。他のファイルは 304 Not Modified 応答を示します。これは、それらがブラウザーのキャッシュから読み込まれていることを意味します。
オフラインの場合: 「キャッシュされていない」キャッシュを使用すると、GET 要求が失敗し、オフライン フォールバック 404 ページが 200 OK (BFCache) 応答で読み込まれます。
オフライン キャッシュはディスク上に物理的に存在し、進行状況イベントがコンソールに表示されるため、ダウンロードされているようですが、Firefox はキャッシュされたイベントを起動しないため、一部のリソースが正常にダウンロードされませんでした。ファイルはすべて png、js、または php 形式であるため、クレイジーなファイル形式はありません。Chrome はまったく同じファイルを問題なくキャッシュにダウンロードします。モバイル Safari も試してみましたが、オフライン キャッシュからページを正常にリロードしました。
Firefox が特定のファイル タイプをキャッシュしないという既知の問題はありますか? 一部のファイルで .html.php 拡張子を使用しています。また、php ファイルを使用してマニフェストを動的に生成するため、存在するファイルのみを取得し、それらをハッシュして変更を検出し、マニフェストを更新します。
次のステップ: 最小限のマニフェストを試して、それが機能するかどうかを確認し、次にファイルを 1 つずつ追加して、どのファイルがエラーをトリガーするかを確認します。おそらく Firefox は、静的ファイルを手動で更新するのではなく、キャッシュ マニフェストを動的に生成しているという事実を気に入らないのでしょうか?
私はキャッシュ マニフェストの難解な複雑さについて多くのことを学びましたが、コンピューターの専門家というよりはハッカーです。他の誰かが Firefox でこの奇抜さを経験したことがありますか?
ページの先頭:
そしてmanifest.phpはちょうど
etc. etc. It uses RecursiveDirectoryIterator to get all the files in the directory (except the cache itself, which is included by default).
android - HTML5 のアプリケーション キャッシュが Android PhoneGap アプリケーションで機能しない
Android PhoneGap アプリケーションの HTML5 でアプリケーション キャッシュを使用しようとしていますが、これは機能しません。ApplicationCahce イベントでは感じられません。
また、このコードは iOS PhoneGap および Android ブラウザーで実行され、サポートされているプラットフォームについてはこのリンクが実行されます。 Application Cahce 対応プラットフォーム
したがって、どんな提案も役に立ちます。
html - html5 アプリケーション キャッシュ joomla ウェブサイト
カスタマイズした Joomla インストールに基づいて、クライアント用に複数の Web サイトを構築します。
ie7 までサポートする必要がありますが、これらの Web サイトをオフラインで利用できるようにしたいと考えています。これはアプリケーションではないので、人々はこれが良い考えだと思いますか?
また、半定期的に変更されるコンテンツでこれがどのように機能すると人々はどのように感じますか?
あなたの考えを歓迎しますか?
ありがとう
html - HTML5アプリケーションキャッシュ-マニフェストが更新されても、キャッシュされたファイルは更新されません
バージョン管理されたキャッシュマニフェストがあります。
このバージョンが変更されるたびに、私のWebアプリケーションは新しいマニフェストをロードしますが、サーバーから更新ファイルをロードすることはありません。ブラウザのキャッシュ(アプリケーションキャッシュ自体ではない)をクリアしたり、Ctrl + Shift + Rを押して強制的に新しいバージョンをフェッチしたりしても、古いアプリキャッシュからファイルが読み込まれます。
更新する唯一の方法は、設定でブラウザのアプリケーションキャッシュをクリアすることですが、通常のユーザー向けに更新する必要があるため、これは明らかに受け入れられません。
なぜこれが起こるのか、何か考えはありますか?
html - オフライン時の ApplicationCache とエラー
デバイス (またはコンピューター) を実際にオフラインにするまで、かなりうまく動作し、キャッシュが検証され、一般的に動作する HTML5 オフライン アプリケーションがあります。
window.applicationCache.onerror
発生する可能性のあるランダムなエラーを処理してプロンプトを表示できるように、ハンドラーが接続されています。
ただし、このエラー ハンドラーは、デバイスがオフラインのときにも起動し、エラー ダイアログがスローされるべきではないときにスローされます。
これが吐き出す JSON は次のとおりです。
この特定のケースを処理するために何を探すことができるかについて、ここであまりにも明白なことは何もありません。ここにあるものに基づいてエラーを無視する必要がありますか、それともまったく別のことをする必要がありますか?
html - ブラウザでオフライン アプリケーション キャッシュが無効になっているかどうかを確認する
ApplicationCache を使用してオフライン データを保存するアプリケーションを作成しました。簡単に言えば、オフライン データを有効にしていないユーザーは、履歴がオフになっているか、プライベート ブラウジングを使用していることが原因で、静かに死んでいます。これをキャッチして、ユーザーに明確なエラーを伝えたいと思います。
これは、キャッシュの状態をチェックすることで検出できるようUNCACHED
です。キャッシュがない場合は 0 を返します...しかし、それがキャッシュがまだないことを意味するのか、それともキャッシュが保証されていないことを意味するのかはわかりません(そして、あるはずです、何かが間違っています)。公式の定義はあまり役に立ちません:
ただし、実際には、cache.status==0
少なくとも Firefox では中止がうまくいくようです。私はそれを正しくやっていますか、それとももっと良い方法がありますか? 誰かが状態図を掘り下げることができれば、余分なポイント。
更新: いいえ、ユーザーが以前にそのページに行ったことがない場合は、0/UNCACHED も返します。ガー!
html - Application Cache は Tomcat 6.0 では機能しますが、weblogic 10.3 では機能しません。
アプリケーションキャッシュを使用していますが、以下の問題に直面しています:
Tomcat サーバーの場合:
サーバーがオンラインのときにページに初めてアクセスすると、マニフェスト ファイルで指定されたファイルがアプリケーション キャッシュに正常に取り込まれます。
サーバーがオフラインの場合、キャッシュされたページにアクセスしようとすると、ブラウザー コンソールにエラーが表示されます (Application Cache Error event: Manifest fetch failed (-1)
インターネットでの調査によると、これはごく普通のことです) が、アプリケーション キャッシュは正常に機能します。
Weblogic サーバーの場合:
オンライン モードで Weblogic サーバーで同じコードを実行しようとしましたが、ファイルは期待どおりにキャッシュされます。しかし、オフライン モードでは、初めてページが読み込まれると正常に動作しますが、コンソールを見ると、アプリケーション キャッシュのステータスが OBSOLETE モードになるため、ページを再度更新するとスローされます404 エラー。また、"Application Cache Error event: Manifest fetch failed (-1)"
Tomcat サーバーでコードを実行しようとすると、取得できません。私が間違っていることを教えてください。以下にファイルを示します。
index.html
マニフェスト ファイル (demo.appcache)
スタイル.css
script.js
web.xml