Harmonyos之加载本地web页面
本地文件存放位置
resources资源文件下的rawfile目录
第一种是放在src\main\resources\rawfile文件夹下,在ets文件中通过$rawfile('文件名')访问。

Web({
src: $rawfile('test.html'), controller: this.controller})
resources资源文件下的自定义目录
我们也可以把h5文件访问到src\main\resources\目录下的自定目录

加载方式:
// 获取本地h5的资源路径,可以凭借h5链接需要的参数
@State url: string = "file://" + getContext().resourceDir + "/uatfile/index.html#/"+"?accessToken="+this.acct+"&userName="+this.user_name
Web({
src: '', controller: this.controller })
.onlineImageAccess(true)
.imageAccess(true)
.darkMode(this.mode)
.domStorageAccess(true)//开启文档对象模型存储接口
.javaScriptAccess(true)//允许执行JavaScript脚本
.javaScriptProxy({
object: new HippiusBridge(this.controller),
name: "xxxx",
methodList: ["postMessage"],
controller: this.controller
})
.fileAccess(true)//开启应用中文件系统的访问
.mixedMode(MixedMode.All)//允许加载超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)混合内容
.focusOnTouch(false)
.metaViewport(true)//设置meta标签的viewport属性是否可用
.onControllerAttached(() => {
//当Controller成功绑定到Web组件时触发该回调
// 推荐在此loadUrl、设置自定义用户代理、注入JS对象等
if (this.url) {
console.info('[ ~~ mwebview onControllerAttached~~ ] : ' +this.url.toString());
this.controller.setPathAllowingUniversalAccess([
getContext().resourceDir,
getContext().resourceDir+"/uatfile"
])
try {
let userAgent = this.controller.getUserAgent() + this.customUserAgent;
this.controller.setCustomUserAgent(userAgent)
} catch (error) {
console.error(`ErrorCode: ${
(error as BusinessError).code}, Message: ${
(error as BusinessError

最低0.47元/天 解锁文章
2063

被折叠的 条评论
为什么被折叠?



