鸿蒙(HarmonyOS)应用开发——web组件

简述

在开发的工作中,可能存在一个场景,我们有一个问卷调查的h5页面,需要切入到app 中。这个时候,就需要从app 端操作,切换到web端操作。不管是安卓、ios、小程序都提供有web组件。那么harmonyos 中也提供web组件来在应用内加载浏览器

语法

javascript 复制代码
web(options:{src:string, controller?:WebController})

src

设置网页资源地址,可以是本地资源,也可以是网络资源;

  • 本地资源
    src:$rawfile('index.html')
  • 网络资源
    网络资源需添加网络权限:ohos.permission.INTERNET

controller控制器

可以控制web组件的各种行为,如前进、后退等操作

forward

按照历史栈,前进一个页面

backward

按照历史栈,后退一个页面

runJavaScript

异步执行javascript脚本,病通过回调方式返回脚本执行的结果

  • 在main/resource/rawfile目录下新建index.html页面
javascript 复制代码
function test(){
 console.log(111)
}
  • web组件调用runJavaScript方法可以执行html中的javascript脚本
javascript 复制代码
controller: WebController = new WebController();
Button().
	onclick(()=>{
		this.controller.runJavaScript({script: 'test()'})
})

支持的属性

属性 fileAccess javaScriptAccess imageAccess zoomAccess textZoomAtio ....

  • fileAccess

    fileAccess(boolean): 设置是否开启通过$rawfile('filepath/filename')访问应用中的rawfile路径的文件。默认时启用

  • javaScriptAccess

    javaScriptAccess(boolean): 设置是否运行执行javascript脚本

  • imageAccess

    imageAccess(boolean): 设置是否允许自动加载图片资源

  • zoomAccess

    zoomAccess(boolean): 用于设置是否支持手势进行缩放,默认允许执行缩放;但是这个要求,网页自身支持缩放,这个属性才会生效。

  • textZoomAtio

    textZoomAtio(number): 用于设置页面的文本缩放百分比,默认值为100,表示100%。

支持方法

  • onConfirm
  • onAlert
  • onBeforeUnload
  • onConsole
相关推荐
anOnion7 分钟前
构建无障碍组件之Alert Dialog Pattern
前端·html·交互设计
一只大侠的侠14 分钟前
Flutter开源鸿蒙跨平台训练营 Day 5Flutter开发鸿蒙电商应用
flutter·开源·harmonyos
choke23314 分钟前
[特殊字符] Python 文件与路径操作
java·前端·javascript
云飞云共享云桌面17 分钟前
高性能图形工作站的资源如何共享给10个SolidWorks研发设计用
linux·运维·服务器·前端·网络·数据库·人工智能
Deng94520131429 分钟前
Vue + Flask 前后端分离项目实战:从零搭建一个完整博客系统
前端·vue.js·flask
威迪斯特32 分钟前
Flask:轻量级Web框架的技术本质与工程实践
前端·数据库·后端·python·flask·开发框架·核心架构
wuhen_n1 小时前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
大鱼前端1 小时前
为什么我说CSS-in-JS是前端“最佳”的糟粕设计?
前端
不爱吃糖的程序媛1 小时前
Capacitor:跨平台Web原生应用开发利器,现已全面适配鸿蒙
前端·华为·harmonyos
AC赳赳老秦1 小时前
2026国产算力新周期:DeepSeek实战适配英伟达H200,引领大模型训练效率跃升
大数据·前端·人工智能·算法·tidb·memcache·deepseek