問題タブ [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 - applicationCache にキャッシュされたファイルを強制的にリロードさせる
HTML5 applicationCache を使用して、ページの多くの Javascript、CSS、画像などのファイルを保存しています。これらのファイルの 1 つを更新しても、ブラウザーはそのファイルを再読み込みしません。私は次のことを試しました:
- ページの読み込み時に applicationCache.update() を呼び出す
- applicationCache の updateready イベントをリッスンし、swapCache() と window.location.reload() を呼び出す
- マニフェスト ファイル自体にタイムスタンプ コメントを追加して、マニフェストが変更されたことをブラウザに認識させる
確かにこれは難しいことではありません。キャッシュされたファイルを再要求するようにブラウザを説得するにはどうすればよいですか?
asp.net - カスタム AppSettings web.config データを ApplicationState に入れる必要がありますか?
web.config ファイルの AppSettings にいくつかのカスタム値があります。
これらの値は、リクエストごとにチェックされます。(これは悪い/良いことかもしれないという事実を無視してください..それは問題の範囲外です)。
例えば。
したがって、すべてのリクエストが web.config ファイルでこのキーの値をチェックする場合、リクエストごとにこの値をチェックするのではなく、これをアプリケーション キャッシュに入れるのが賢明でしょうか (global.asax 経由など)。
AppSettings から値を読み取ると、Web サイトは web.config ファイルを物理的に読み取ると思いますか? または、この情報はすべて、Web サイトの起動時にすべてメモリに読み込まれ、appSettings 情報へのすべての参照はメモリ内の読み取りであり、ディスク I/O の読み取りではありませんか?
html - dojoとオフラインアプリケーションキャッシュ
私たちは、Dojoを使用したオフライン対応のJavaScriptアプリケーションと、新しいブラウザーで利用可能なストレージおよびオフライン機能に取り組んできました。
アプリケーションは非常に大きいですが、キャッシュからより大きなファイルをロードしているようで、アプリケーションが証書にキャッシュされていることがわかります。アプリケーションキャッシュ機能を使用していましたが、私とChromeが確認できる限り、アプリケーションキャッシュにエラーはありません。
しかし、問題が発生します。どうやら、Dojoはその言語リソースも、接続するサービスを記述したSMDファイルもロードできません。
これらの問題は、対象のブラウザであるwebkit-mobileでよく見られます。
何が間違っているのかについてのアイデアはありますか?
firefox - JavaScriptを使用してアプリケーションキャッシュ(HTML5機能)をクリアする方法は?
私たちのWebアプリケーションは、アプリケーションキャッシュ(キャッシュマニフェスト)を使用して、HTMLページとリソースをオフラインモードで復元します。HTMLページには、URIのパラメーターとしてsessionIDがあります。したがって、各ログアウトおよびログインアクションの後、sessionIdがURIで変更されたため、新しいHTMLページがアプリケーションキャッシュに保存されます。アプリケーションを数週間使用した後、一部のブラウザの動作が遅くなります。また、アプリケーションキャッシュのサイズ(FF 3.6以降でテスト済み)は約200Mbです。ログアウトするたびに、ブラウザのLocalStorageをクリアしますが、アプリケーションストレージからリソースをクリアするにはどうすればよいですか?
javascript - window.applicationCacheの更新により、ブラウザーがフリーズします-頻度を減らす方法、またはユーザーが開始するように強制する方法
applicationCacheを介してオフラインで使用するために必要なすべてのコードとデータをキャッシュするWebアプリを作成しました。ただし、アプリが起動するたびに、すぐに更新を確認しようとします。これにより、更新するものが見つからない場合でも、ブラウザがかなりの時間ブロックされます。この動作はアプリを非常に混乱させます(とにかく、バックグラウンドで更新を行うべきではありませんか?)。モバイルデバイスではチェック段階だけで多くの時間がかかり、更新が見つかった場合、ダウンロードにかかる時間についてはすべての賭けが無効になります(b / cすべてのファイルを再ダウンロードする必要があります)-これもブラウザをフリーズさせます。
だから、私は疑問に思っています:
- applicationCacheの更新を共有Webワーカーに委任する方法はありますか?また
- ユーザーが特に更新を確認する必要があり、applicationCache.update()を介して更新を開始するボタンを押すまで、すべてのapplicationCache更新をブロックする方法はありますか?また
- 更新のチェックに費やされる時間を軽減する他の方法はありますか?
- アプリケーションキャッシュの更新をバックグラウンドで非同期に実行するべきではありませんか?
編集:おそらくマニフェストファイルに注意深く構築されたキャッシュ制御ヘッダーが答えですか?これについては調査しますが、誰かがこれらの更新についてもっと情報を教えてくれることを願っています。ありがとう。
アップデート
わかりました、私はヘッダーで遊んだことがありますが、何も役に立ちませんでした。私は賞金を始めています。あなたが助けることができるならば、してください!
iphone - iPhone アプリのキャッシュはいつクリアされますか?
私は、ユーザーが音声を (特に) アプリの Documents ディレクトリに録音できるようにするアプリに取り組んでいます。しかし、音声を録音するときは、アプリの caches ディレクトリに録音し、ユーザーが「わかりました、これを保存してください」と言った後、Documents ディレクトリにコピーしています。これまでのところ、これらはすべて機能します。しかし、キャッシュ内のデータ ファイルを削除しようとしたり、移動しようとすると、問題が発生します。
だから私の質問は、iOSがそれを処理できるようにデータをキャッシュに残しておくか、キャッシュ内のファイルを手動で削除する必要があるかということです。もしそうなら、どうすればそれを行うことができますか。これは私がこれまでに持っているコードです(動作しません)
javascript - HTML5 アプリケーション キャッシュに保護または制限を適用できますか?
(ちなみに、ローカル ストレージではなく、アプリケーション キャッシュ/マニフェストについて言及しています。)
特定のユーザーだけがアプリケーション キャッシュを使用できるようにしたいとします。彼らが私のウェブサイトにログインすると、権限に応じて、サイトはブラウザーにマニフェストを取得するように指示します。ゲストおよび権限のないゲストには、マニフェストへのアクセス権が付与されません。
これを回避するために、悪意のあるユーザーは、別のユーザーのブラウザー データ フォルダーからアプリケーション キャッシュ ファイルをコピーするか、マニフェスト ファイルを直接ダウンロードする可能性があります。
これが起こらないようにする方法はありますか?組み込みのメカニズムはありますか?
html - オフラインアプリケーションロード時のHTML5applicationCacheチェックイベントの防止
http://app.bluedot.mobiにHTML5/jqueryモバイルWebアプリがあります。これは、SPOT衛星追跡を介して競合他社を追跡するための長距離レースに使用されます。私がまだ解決していない問題は、データ接続が存在しないときにアプリをロードすると、チェックイベント中にマニフェストをフェッチしようとしているため、ブラウザーが「データ接続なし」アラートポップアップをスローすることです。データ接続が存在する場合でも、アプリの読み込みには非常に長い時間がかかる場合があります。チェックするファイルは約500個あります。(電話から)アプリをロードする最も速い方法は、機内モードにしてブラウザのアラートを閉じることです-それほどエレガントではありません。
むらのある接続でバックカントリーにいる傾向があるユーザーに更新を強制するのではなく、プログラムでapplicationCache.update()を使用して、ユーザーがプロセスを制御できるようにし、オンラインかオフラインかにかかわらずアプリの読み込みを高速化します。
これは現在、HTML5仕様とそれぞれのブラウザ実装で可能ですか?
html - ログオン/ログオフ シナリオで HTML 5 アプリケーション キャッシュをプログラムでクリアする
HTML 5 のオフライン ロジックは、window.applicationCache オブジェクトにカプセル化されています。ただし、ユーザーがシステムからログオフするときなどに、キャッシュ データをプログラムでクリアすることはできないようです。空のマニフェスト ファイルを生成する以外に、HTML 5 アプリケーション キャッシュをクリアする方法はありますか?
ipad - iPad のホーム画面アプリが開くたびに更新される
HTML5 と SenchaTouch を使用して iPad 用の Web アプリを作成しています。アプリはキャッシュ マニフェストを使用してオフラインで機能します。ホーム画面に追加され、Safari なしで開かれると、ホーム画面に移動して戻るだけであっても、開くたびに更新されます。望ましい動作は、アプリを離れて別のことをしてから、何も変更せずにアプリに戻ることです。
同じ (望ましくない) 動作を示す同様のアプリの例は、http: //ignitedmediadesign.com/WebApp/index.htmlにあります。
キャッシュ マニフェストを使用すると、iPhone でこの問題が解決するはずであると読みました ( http://www.stevesouders.com/blog/2011/06/28/lack-of-caching-for-iphone-home-screen-apps / )、しかし、iPhone または iPad のいずれかのトリックを行っていないようです.
これを修正する別の方法はありますか?私が見逃したかもしれないこれを止めるマニフェストファイルをキャッシュするための秘密はありますか?