WebView不会删除cookie /存储,即使在clearData之后,没有持久值,并终止- Chrome Kiosk

WebView won't delete cookies/storage even after clearData, no persist value, and terminate - Chrome Kiosk App

本文关键字:Kiosk Chrome 终止 之后 clearData cookie 删除 存储 WebView      更新时间:2023-09-26

我有一个Kiosk应用程序,将用于收集公众注册和注册页面是一个公共网站,显示在一个受控的WebView。我需要从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加载时,我仍然可以看到个人详细信息。为什么会发生这种情况,我如何删除数据?

似乎目前是不可能做我想做的(认真吗?):类似SO问题

然而,对于我的特殊用例,有一个变通方法。我可以在正常视图中显示本地内容,甚至可以在自己的webview中显示本地内容,然后为显示web内容的webview使用唯一的虚拟分区ID。当会话应该结束时,我可以生成一个新的唯一分区ID,并使用它来启动一个新的webview,该webview将无法访问前一个的缓存。

对于其他有类似问题的人,这不是我在这个平台上发现的唯一不可接受的错误行为,在Chromium团队能够生产出更稳定的产品之前,应该避免在严肃的项目中使用