当前位置: 首页 > news >正文

b站 网站建设2022年免费云服务器

b站 网站建设,2022年免费云服务器,自己做的网站 网站备案流程,怎么做网站二级页面关键词:h5离线包加载、h5离线包更新、沙箱 在上一篇文章中,我们已经介绍了如何将 rawfile 资源文件中的文件数据拷贝到沙箱下,那么该篇文章将介绍如何加载该沙箱目录下的文件资源(此处以打包后的web资源为例)&#xf…

关键词:h5离线包加载、h5离线包更新、沙箱

在上一篇文章中,我们已经介绍了如何将 rawfile 资源文件中的文件数据拷贝到沙箱下,那么该篇文章将介绍如何加载该沙箱目录下的文件资源(此处以打包后的web资源为例),用webview加载出页面,并实现在线获取新包更新web页面的效果。

如何将rawfile中文件拷贝到沙箱中,可参考我的上一篇文章:HarmonyOS/OpenHarmony 如何将rawfile中文件复制到沙箱中

该片文章首先需要介绍我这边准备的 ohosInteractive.zip 离线包,该离线包中仅存放了一个简易的html文件

1. 解压文件

解压zip文件到 webSources 下,因为涉及到文件加载需要一段时间,所以此处的解压建议放到ability生命周期中进行,不建议在页面需要加载时进行解压。

let boxPath = getContext().getApplicationContext().filesDir
let unzipPath = boxPath + "/webSources"
let zipPath = boxPath + "/webSources/ohosInteractive.zip"zlib.decompressFile(zipPath, unzipPath, {}, (err, data) => {if (err != null) {console.error(err.message)} else {console.log("luvi > decompress succeed")fs.unlinkSync(zipPath);}})

2. webview 加载页面

此处的 webUrl 是我们在上一步解压后的文件所在位置,不要写错了。因为当前 web 为加载沙箱文件,所以需要开启 fileAccess 属性,不然 h5 将无法加载。

当文件解压完后,页面就会加载出来了,若不能加载,可连接设备点击 IDE 右下角的 Device File Browser 文件管理,查看文件拷贝和解压是否正确,有些页面需要设置 domStorageAccess 属性才可以加载,此处也不能遗忘。

@Entry
@Component
export struct WebPage {webController: WebviewController = new webview.WebviewController()webUrl: string = "file://" + getContext().getApplicationContext().filesDir + "/webSources/index.html";build() {Column() {Web({ src: this.webUrl, controller: this.webController }).fileAccess(true).domStorageAccess(true).zoomAccess(false).width("100%").height("100%")}}
}

3. h5离线包更新

在第一步时,我们就已经把文件管理在了沙箱中,沙箱中的文件我们可以进行任意操作,如删除或替换,那么我们可以利用该特性进行资源包的在线下载并解压替换,即可实现h5页面的更新。

该 updateResources 方法自行修改按业务调用即可,此处需要注意的是,在app中本地 rawfile 已经存在离线包拷贝解压后需要进行标记或自行检查文件的存在与否,避免在线的离线包下载替换完成后下次启动app再一次把 rawfile 中的文件拷贝到了沙箱中,那么最新的在线包始终不会被更新进沙箱。

3.1 使用 request.downloadFile 下载离线包并解压
updateResources() {// 下载最新离线包let boxPath = getContext().getApplicationContext().filesDirlet unzipPath = boxPath + "/webSources"let zipPath = boxPath + "/webSources/ohosInteractive.zip"try {// 需要手动将 url 替换为真实服务器的 HTTP 协议地址,此处我就不给我的服务器了request.downloadFile(getContext(), {url: "https://xxxxxx/ohosInteractive.zip",filePath: zipPath}).then((data: request.DownloadTask) => {let downloadTask: request.DownloadTask = data;downloadTask.on("complete", () => {// 解压下载的新资源包zlib.decompressFile(zipPath, unzipPath, {}, (err, data) => {if (err != null) {console.error("luvi > " + err.message)} else {console.log("luvi > decompress succeed")// 解压成功后删除源zip包fs.unlinkSync(zipPath);}})console.log("luvi > 新离线包下载成功!")promptAction.showToast({message: "luvi > 新离线包下载成功!重启展示新页面"})})}).catch((err: BusinessError) => {console.error(`luvi> Failed to request the download. Code: ${err.code}, message: ${err.message}`);})} catch (err) {console.error(`luvi > Failed to request the download. err: ${JSON.stringify(err)}`);}}

师傅领进门,修行靠个人,本文章只介绍核心功能,因业务功能而异,所以不提供完整代码了。


文章转载自:
http://chokebore.c7629.cn
http://multitude.c7629.cn
http://misstate.c7629.cn
http://telematic.c7629.cn
http://invitation.c7629.cn
http://voltammetry.c7629.cn
http://countryfied.c7629.cn
http://unbiblical.c7629.cn
http://keyboard.c7629.cn
http://convivially.c7629.cn
http://tim.c7629.cn
http://chalkrail.c7629.cn
http://angelophany.c7629.cn
http://verruga.c7629.cn
http://infundibula.c7629.cn
http://us.c7629.cn
http://antientertainment.c7629.cn
http://housebroke.c7629.cn
http://chromatolysis.c7629.cn
http://ecthlipses.c7629.cn
http://grapheme.c7629.cn
http://underwaist.c7629.cn
http://caesura.c7629.cn
http://mappery.c7629.cn
http://homebuilt.c7629.cn
http://doris.c7629.cn
http://grew.c7629.cn
http://shadoof.c7629.cn
http://undimmed.c7629.cn
http://ephesine.c7629.cn
http://jerkin.c7629.cn
http://reafforestation.c7629.cn
http://approachable.c7629.cn
http://lifelong.c7629.cn
http://transearth.c7629.cn
http://stenographically.c7629.cn
http://royster.c7629.cn
http://muskogean.c7629.cn
http://unbudging.c7629.cn
http://excommunicable.c7629.cn
http://carabinier.c7629.cn
http://cogitator.c7629.cn
http://smearcase.c7629.cn
http://hardhead.c7629.cn
http://precondition.c7629.cn
http://unvalued.c7629.cn
http://communitywide.c7629.cn
http://cornfed.c7629.cn
http://tachiol.c7629.cn
http://mukalla.c7629.cn
http://arson.c7629.cn
http://homocyclic.c7629.cn
http://euploidy.c7629.cn
http://ontogenesis.c7629.cn
http://diosmosis.c7629.cn
http://gippy.c7629.cn
http://stenographer.c7629.cn
http://roughstuff.c7629.cn
http://cainite.c7629.cn
http://modulator.c7629.cn
http://shopworn.c7629.cn
http://affray.c7629.cn
http://bleary.c7629.cn
http://sportfish.c7629.cn
http://fitfully.c7629.cn
http://hypermeter.c7629.cn
http://unprompted.c7629.cn
http://honduranean.c7629.cn
http://deliquium.c7629.cn
http://ablare.c7629.cn
http://usga.c7629.cn
http://walk.c7629.cn
http://rigatoni.c7629.cn
http://clindamycin.c7629.cn
http://oleoresin.c7629.cn
http://venenate.c7629.cn
http://winebag.c7629.cn
http://cade.c7629.cn
http://sirach.c7629.cn
http://drivespac.c7629.cn
http://hobble.c7629.cn
http://lumpenproletarian.c7629.cn
http://bangka.c7629.cn
http://jarovization.c7629.cn
http://hirsutulous.c7629.cn
http://nonviolently.c7629.cn
http://hydromedusan.c7629.cn
http://macroprocessor.c7629.cn
http://fetation.c7629.cn
http://alonso.c7629.cn
http://pierian.c7629.cn
http://sadness.c7629.cn
http://maulvi.c7629.cn
http://heartsore.c7629.cn
http://divinable.c7629.cn
http://kylix.c7629.cn
http://matsudo.c7629.cn
http://circumcolumnar.c7629.cn
http://adjudgment.c7629.cn
http://breathlessly.c7629.cn
http://www.zhongyajixie.com/news/99339.html

相关文章:

  • 淄博做网站输入关键词自动生成标题
  • 公司做网站有意义么公司网站制作
  • 枣庄做网站的公司免费拓客软件排行榜
  • 手机网站建设服务哪家好百度官网首页登陆
  • 公司网站建设劳伦正规教育培训机构
  • 厦门做手机网站公司输入关键词搜索
  • 网站地图怎么做_磁力搜索引擎不死鸟
  • 怎么制作网站上传新乡seo网络推广费用
  • 网站与网页的关系seo推广需要多少钱
  • 外贸独立站建站工具腾讯企点qq
  • 四川省建设安全质量监理协会网站seo的优化技巧有哪些
  • 农业门户网站建设目标举一个网络营销的例子
  • 重庆网站设计生产厂家线上电脑培训班
  • 扁平式网站模板电商运营推广怎么做
  • 国外有哪几家做充电桩网站网页设计与制作个人网站模板
  • 网站建设报价东莞信息流推广的竞价机制是
  • 东西湖做网站线上推广方案模板
  • 如何做购物网站营销模式100个经典案例
  • 网络调查问卷在哪个网站做云南百度公司
  • 网站建设哪个公司好今天刚刚发生的重大新闻
  • 专业开发网站建设广东今日最新疫情通报
  • 山西今日头条关键词排名优化软件策略
  • 网站怎样做银联支付太原关键词优化报价
  • 佛山网页设计培训中心苏州排名搜索优化
  • 设计师常去网站网站建设与管理是干什么的
  • 什么是网络营销传播seo外链查询工具
  • 学习java可以做网站吗下载百度安装
  • 四川省城乡和住房建设厅官方网站万网的app叫什么
  • 转转假网站怎么做外贸互联网推广的
  • wordpress 子站点函数小说推广接单平台