HarmonyOS hook webview网络请求加载本地缓存的解决方案

webview加载过程中,通过网络请求读取远端的html、css、js等文件。希望通过hook webview网络请求,通过返回本地文件的内容,使webview加载本地文件,如果本地不存在对应文件的时候再通过网络读取。

  1. 请问webview组件针对上述问题是否有完整的解决方案?
  2. 目前通过复写
onInterceptRequest(callback: (event?: {
  /**
   * The url of the event.
   *
   * @syscap SystemCapability.Web.Webview.Core
   * @atomicservice
   * @since 11
   */
  request: WebResourceRequest;
}) => WebResourceResponse): WebAttribute;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

方法实现上述需求,请问这个方法是在什么阶段调用的,是否只针对get请求,有什么是用限制(在什么情况下会失效或者绕过)?

  1. 是否可以hook webview发出的post请求?
HarmonyOS
2024-12-25 14:01:56
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
superinsect

1、自定义页面请求响应:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-resource-interception-request-mgmt-V5

2、onInterceptRequest:当Web组件加载url之前触发该回调,用于拦截url并返回响应数据。请求方法无限制。使用限制:WebResourceResponse的setResponseData方法只支持传入string、number、resource类型,并且需要同时设置setResponseEncoding、setResponseMimeType、setResponseHeader等参数,不支持异步提供数据

3、可以拦截拦截Web组件发起的网络请求,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-scheme-handler-V5

分享
微博
QQ
微信
回复
2024-12-25 17:26:19


相关问题
确认网络状况解决方案
1360浏览 • 1回复 待解决
HarmonyOS 卡片列表网络图片解决方案
716浏览 • 1回复 待解决
webview中跨域问题解决方案
3531浏览 • 1回复 待解决
HarmonyOS代码封装解决方案
1314浏览 • 1回复 待解决
HarmonyOS 通知推送解决方案
792浏览 • 1回复 待解决
HarmonyOS 滚动事件相关解决方案
451浏览 • 1回复 待解决
HarmonyOS 音频播放组件解决方案
640浏览 • 1回复 待解决
HarmonyOS事件通信能力解决方案
1594浏览 • 1回复 待解决
高级图表实现解决方案
1314浏览 • 1回复 待解决
HarmonyOS webrtc同屏功能解决方案
465浏览 • 1回复 待解决
HarmonyOS C++模块引用解决方案
1094浏览 • 1回复 待解决
HarmonyOS 部分文本高亮解决方案
916浏览 • 1回复 待解决
抓包应用,求解决方案
2554浏览 • 1回复 待解决
HarmonyOS有访问相册有解决方案
918浏览 • 1回复 待解决
lazyforeach替换数据源解决方案
1393浏览 • 1回复 待解决
HarmonyOS 音视频处理相关解决方案
1160浏览 • 1回复 待解决
HarmonyOS 本地webView跨域方案
1716浏览 • 1回复 待解决
图像处理库是否有替代解决方案
914浏览 • 0回复 待解决
包大小优化,有没有好解决方案
900浏览 • 2回复 待解决
应用包体积大小优化解决方案
1212浏览 • 1回复 待解决
图片存储解决方案谁知道啊?
2951浏览 • 1回复 待解决
HarmonyOS WebView拦截网络请求
948浏览 • 1回复 待解决