基于HarmonyOS实现H5离线方案有哪些?

基于HarmonyOS实现H5离线方案,端侧缓存,用于H5页面加载加速。

HarmonyOSH5离线方案,我们这边有两个考虑的方向:

1.HarmonyOSWeb 组件 onInterceptRequest 回调。

HarmonyOS Ark Web 组件中有关于自定义响应的描述,基于 Web 组件 onInterceptRequest API

由于我们不是做某个 html 响应,我们是要做 整个 H5 项目 dist 产物包内文件的响应,可能会存在一些稍大的文件

基于这样的场景 ,在onInterceptRequest能否执行耗时的文件IO读取 将文件读取成 ArrayBuffer自定义响应 从而实现离方案。

2.对齐现有的 Server 方案。

基于HarmonyOS实现类似server方案,在端侧启动一个 server服务,单独放在一个线程中 用于处理 H5资源响应

综上所述,期望得到关于H5离线方案的设计指导。


HarmonyOS
2024-11-07 10:36:13
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

​建议使用Web 组件 onInterceptRequest 回调。onInterceptRequest中有一个接口是setResponseIsReady,先设置setResponseIsReady为false,那么内核此时不会去读取response的内容。当获取到数据后再将其改为true,此时内核才会去响应数据。setResponseData方法参考链接:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-web-V5#setresponsedata9

onInterceptRequest是支持耗时文件IO读取的,如果文件不想阻塞可以开启多线程执行,如果文件比较小可以不开启,可以参考相关文档:​https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/web/web-scheme-handler.md

分享
微博
QQ
微信
回复
2024-11-07 15:24:09
相关问题
HarmonyOS web组件加载h5h5拉起摄像头
463浏览 • 1回复 待解决
如何实现H5自定义事件
2193浏览 • 1回复 待解决
HarmonyOS webview h5的localstorage
320浏览 • 1回复 待解决
HarmonyOS H5如何访问相册?
116浏览 • 1回复 待解决
HarmonyOS h5和ArkTS通信
110浏览 • 1回复 待解决
HarmonyOS web与H5交互
507浏览 • 1回复 待解决
HarmonyOS 折叠屏H5适配问题
604浏览 • 1回复 待解决
HarmonyOS h5页面缩放问题
411浏览 • 0回复 待解决
webview加载Vue h5失败
17651浏览 • 5回复 待解决
HarmonyOS H5和应用侧数据交互
182浏览 • 1回复 待解决
HarmonyOS H5代码如何复用?
74浏览 • 1回复 待解决
HarmonyOS web通过loadData加载h5标签
107浏览 • 1回复 待解决
HarmonyOS web原生和H5如何交互?
430浏览 • 1回复 待解决
HarmonyOS换肤方案哪些
325浏览 • 1回复 待解决
HarmonyOS 换肤方案哪些
180浏览 • 1回复 待解决
HarmonyOS Web组件,离线方案
330浏览 • 1回复 待解决
Web中webview和H5交互
990浏览 • 1回复 待解决
HarmonyOS H5页面加载缓存机制
158浏览 • 1回复 待解决