1

ApplicationCache を使用してオフライン データを保存するアプリケーションを作成しました。簡単に言えば、オフライン データを有効にしていないユーザーは、履歴がオフになっているか、プライベート ブラウジングを使用していることが原因で、静かに死んでいます。これをキャッチして、ユーザーに明確なエラーを伝えたいと思います。

これ、キャッシュの状態をチェックすることで検出できるようUNCACHEDです。キャッシュがない場合は 0 を返します...しかし、それがキャッシュがまだないことを意味するのか、それともキャッシュが保証されていないことを意味するのかはわかりません(そして、あるはずです、何かが間違っています)。公式の定義はあまり役に立ちません:

UNCACHED (numeric value 0)
The ApplicationCache object's cache host is not associated with an application
cache at this time.

ただし、実際には、cache.status==0少なくとも Firefox では中止がうまくいくようです。私はそれを正しくやっていますか、それとももっと良い方法がありますか? 誰かが状態図を掘り下げることができれば、余分なポイント。

更新: いいえ、ユーザーが以前にそのページに行ったことがない場合は、0/UNCACHED も返します。ガー!

4

1 に答える 1

2

errorでイベントをリッスンしapplicationCacheます。これが起動して が発生した場合、多くのapplicationCache.status===applicationCache.UNCACHED理由の 1 つは、キャッシュが無効になっていることです。ユーザーへのメッセージは、キャッシュがオフになっていることを示唆している場合があります。

于 2012-11-10T02:57:19.323 に答える