0

パブリック サインアップを収集するために使用されるキオスク アプリがあり、サインアップ ページは、制御された WebView に表示されるパブリック Web サイトです。WebView キャッシュからユーザーの個人データをすべて消去する必要がありますが、文書化された手順を使用してそれを行うことができないようです。

ここに私の WebView マークアップがあります:

<div><webview id="wv" style="width:100%; height:95%;position:absolute;margin:0px;padding:0px;" partition="extraContent"></webview></div>

キャッシュとストレージをクリアするために使用するコードは次のとおりです。

 var webview = document.getElementById("wv");
 var options = {
  'since':1000000000
};
var caches = {
  "appcache": true,
    "cache": true,
    "cookies": true,
    "fileSystems": true,
    "indexedDB": true,
    "localStorage": true,
    "webSQL": true
};
webview.clearData(options, caches, function() {
  webview.terminate();
  $("webview").remove();
  appendWebview();
});

clearData仕事をしなかったとき、ビューを完全に終了し、同じマークアップで新しいビューを追加し始めました。それでも、新しい WebView が読み込まれると、個人の詳細を確認できます。これはなぜですか?また、データを削除するにはどうすればよいですか?

4

1 に答える 1

0

現在、私がやりたいことを行うことはできないようです(真剣に?): Similar SO Question

ただし、私の特定のユースケースには回避策があります。ローカル コンテンツを通常のビューで表示したり、独自の Web ビューで表示したりして、Web コンテンツを表示する Web ビューに一意のダミー パーティション ID を使用できます。セッションを終了する必要がある場合は、新しい一意のパーティション ID を生成し、それを使用して、前のキャッシュにアクセスできない新しい Web ビューを開始できます。

同様の問題を抱えている他の人にとって、これは私がこのプラットフォームで見つけた唯一の受け入れられないバグのある動作ではありません.Chromiumチームがより安定した製品を生産できるようになるまで、深刻なプロジェクトでは避けるべきです.

于 2015-10-08T19:32:05.870 に答える