HarmonyOS 鸿蒙Next WebviewController的removeCache(true) 并没有清除webview的存储(localStorage/sessionStorage)

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next WebviewController的removeCache(true) 并没有清除webview的存储(localStorage/sessionStorage) WebController 的 removeCache 方法只会清除浏览器缓存中的静态文件,如 HTML、CSS、JavaScript 等,目前不会清除已缓存的表单等数据。

这问题导致切换账号的状态没法处理干净,存在越权的安全漏洞

2 回复

你好,可以使用deletealldata的清除localStoragesessionStorage

参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-webview-V5#deletealldata

更多关于HarmonyOS 鸿蒙Next WebviewController的removeCache(true) 并没有清除webview的存储(localStorage/sessionStorage)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,WebviewControllerremoveCache(true)方法未能清除webview的存储(如localStorage和sessionStorage)可能是由于该方法主要针对的是浏览器缓存(如HTTP缓存),而不直接作用于Web存储API。

HarmonyOS的Webview组件在处理Web存储时,可能会遵循标准的Web存储机制,这意味着localStorage和sessionStorage的清除可能需要通过特定的API或方法来实现。通常,这些存储是由webview内部管理的,且不一定受removeCache方法控制。

要清除localStorage和sessionStorage,可以尝试以下方法:

  1. 通过JavaScript清除:在webview加载的页面中,使用JavaScript代码清除localStorage和sessionStorage。例如,localStorage.clear()sessionStorage.clear()

  2. Webview设置:检查HarmonyOS的Webview组件文档,看是否有提供清除Web存储的专门方法或配置。

  3. 重启Webview:有时重启webview实例也可以达到清除存储的效果,但这可能不是最佳实践。

如果上述方法仍然无法解决问题,可能是HarmonyOS系统或Webview组件的特定行为。此时,建议直接联系鸿蒙系统的开发者支持或查阅最新的官方文档。如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部