2016-08-29 2 views
0

私たちにはいくつかのwebviewを持つネイティブandoridアプリがあります。私たちはAndroid webviewsでServiceワーカー機能を使用しています。Android APIからのサービスワーカーキャッシュをクリア

http://www.html5rocks.com/en/tutorials/service-worker/introduction/

AndroidのAPIからサービスワーカーキャッシュをクリアする方法はありますか?ユーザーがAndroidアプリからログアウトしたときにキャッシュをクリアする必要があります。

答えて

3

私はAndroidの開発者ではありませんが、WebStorage#deleteAllData()メソッドは、あなたが望むことを達成するように見えます。そうでない場合は、バグのように聞こえるので、Androidフレームワークのバグにどのような仕組みが使用されているかをフォローアップすることをお勧めします。

また、私はWeb開発者ですから、ここではJavaScriptを使って解決する方法があります。 「サービスワーカーキャッシュ」と呼ばれるものは実際にはサービスワーカーに限定されないことに注意してください。 Cache Storage APIは、作業グローバルスコープとwindow.cachesの両方に公開されているため、Webページのコンテキストから直接使用されます。 JavaScriptがちょうどキャッシュストレージAPIをクリアすること、WebStorage#deleteAllData()コールとは異なり

caches.keys() 
    .then(cacheNames => Promise.all(cacheNames.map(cacheName => caches.delete(cacheName)))) 
    .then(() => console.log('Everything was deleted!')) 
    .catch(error => console.warn('Something went wrong!', error)); 

:だから、サービスワーカーをトリガするためにフープを介してジャンプせずにWebページの実行コンテキストからの直接のすべてのキャッシュを削除するコードを実行することができます、通常のHTTPキャッシュ、クッキーやその他のサイト固有のストレージはそのまま残ります。

関連する問題