代码拉取完成,页面将自动刷新
本示例共介绍了长按Web页面元素,会在元素显示菜单弹窗的使用场景,方便开发者开发类似场景。
1.仅支持标准系统上运行,支持设备:华为手机或运行在DevEco Studio上的华为手机设备模拟器。
2.支持 API Version 12 Release及以上版本。
3.支持 HarmonyOS 5.0.0 Release SDK及以上版本。
4.需要使用DevEco Studio 5.0.0 Release及以上版本进行编译运行。
长按Web页面元素,会在元素显示菜单弹窗。
1.设置Web组件onContextMenuShow属性,获取Web页面元素的状态标识;设置bindPopup属性,为Web组件设置Popup弹窗。
Web({ src: this.webUrl, controller: this.webviewController })
.onContextMenuShow((event) => {
if (event) {
// 对长按元素进行状态标识以及获取长按位置
}
})// 根据分类的状态标识进行相应操作
.bindPopup(this.showMenu, PopupOptions)
2.自定义menuBuilder,实现不同的元素要执行的操作。
@Builder
menuBuilder() {
// 以垂直列表形式显示的菜单。
Menu() {
ForEach(this.holdMenuItemKeys, (holdMenuItemKey: number) => {
ForEach(this.holdMenuItemMap.get(holdMenuItemKey), (holdMenuItem: HoldMenuItem) => {
this.menuItemBuilder(holdMenuItem.content, holdMenuItem.func)
})
})
}
}
entry/src/main/ets // hap类型, 场景页面代码所在模块
|---entryability
| |---EntryAbility.ets
|---entrybackupability
| |---EntryBackupAbility.ets
|---model
| |---CollapseModel.ets
|---pages
| |---MainPage.ets // 场景主页
|---views
| |---holdingMenu // web页面长按菜单页面
| | |---HoldImgMenu.ets
| |---Collapse.ets
InteractWebAndApp // har模块,web前端页与应用侧交互实现
LoadWebPage // har模块,web前端页加载以及公共实现
修改内容 | 时间 |
---|---|
首版本 | 2025.3.12 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。