HarmonyOS 清除Web缓存

是否可以在不建立Web组件的前提下,对应用中的Web缓存进行清理?WebviewController.removeCache() 方法需要与具体Web组件绑定才能生效。

咨询场景描述:在应用的设置功能入口中,向用户提供清除缓存的功能,但该功能并不依赖于具体的Web页面。

HarmonyOS
2024-08-11 14:10:24
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

可以通过设置全局来处理解决不依赖具体web页面

export class GlobalContext { 
  private constructor() { 
  } 
 
  private static instance: GlobalContext; 
  private _objects = new Map<string, Object>(); 
 
  public static getContext(): GlobalContext { 
    if (!GlobalContext.instance) { 
      GlobalContext.instance = new GlobalContext(); 
    } 
    return GlobalContext.instance; 
  } 
 
  getObject(value: string): Object | undefined { 
    return this._objects.get(value); 
  } 
 
  setObject(key: string, objectClass: Object): void { 
    this._objects.set(key, objectClass); 
  } 
} 
//某一个web组件赋值给全局 
Web({ src: 'https://www.huawei.com', controller: this.webcontroller }) 
  .onControllerAttached(() => { 
    GlobalContext.getContext().setObject('webcontroller', this.webcontroller) 
  }) 
  .height(200) 
  .width('100%') 
 
//清除缓存 
Button('removeCache') 
  .onClick(() => { 
    try { 
      let webcontroller = GlobalContext.getContext().getObject('webcontroller') as web_webview.WebviewController 
      webcontroller.removeCache(true); 
    } catch (error) { 
      let e: BusinessError = error as BusinessError; 
      console.error(`ErrorCode: ${e.code},  Message: ${e.message}`); 
    } 
  })
分享
微博
QQ
微信
回复
2024-08-11 21:13:06
相关问题
HarmonyOS web清除缓存问题
101浏览 • 1回复 待解决
HarmonyOS Web如何实现清除缓存
447浏览 • 1回复 待解决
HarmonyOS如何清除应用缓存
23浏览 • 0回复 待解决
HarmonyOS 清除缓存功能
159浏览 • 1回复 待解决
flutter缓存如何清除
59浏览 • 1回复 待解决
HarmonyOS怎么清除当前应用的缓存
615浏览 • 1回复 待解决
HarmonyOS APP有没有清除缓存的接口
337浏览 • 1回复 待解决
如何通过命令号清除应用缓存
2007浏览 • 1回复 待解决
如何清除Web隐私模式下所有cookie。
365浏览 • 1回复 待解决
Web组件的缓存模式有几种?
303浏览 • 1回复 待解决
关于 web 项目配置文件是否使用缓存
4112浏览 • 1回复 待解决
HarmonyOS sdk如何清除cookie?
85浏览 • 1回复 待解决
HarmonyOS 路径规划如何清除路线
318浏览 • 1回复 待解决