#鸿蒙通关秘籍#如何在HarmonyOS上离线注入资源以优化页面加载?

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hm673ff1119fd7d

使用injectOfflineResources()方法可以在页面加载前将图片、样式表或脚本资源注入到应用的内存,以提高页面加载效率。

ets import { webview } from '@kit.ArkWeb'; import { resourceConfigs } from "./Resource"; import { BuilderData } from "./DynamicComponent";

@Builder function WebBuilder(data: BuilderData) { Web({ src: data.url, controller: data.controller }) .onControllerAttached(async () => { try { data.controller.injectOfflineResources(await getData ()); } catch (err) { console.error("error: " + err.code + " " + err.message); } }) .fileAccess(true) }

export const getData = async () => { const resourceMapArr: Array<webview.OfflineResourceMap> = []; for (let config of resourceConfigs) { let buf: Uint8Array = new Uint8Array(0); if (config.localPath) { buf = await readRawFile(config.localPath); } resourceMapArr.push({ urlList: config.urlList, resource: buf, responseHeaders: config.responseHeaders, type: config.type, }) } return resourceMapArr; }

分享
微博
QQ
微信
回复
1天前
相关问题