#2023盲盒+码# Web组件使用技巧:扩展window对象、长按菜单、监听下载事件等 原创 精华
【本文正在参加 2023「盲盒」+码有奖征文活动】 https://ost.51cto.com/posts/25284
目录
关于作者:I’m westinyang
序言
本文讲到的技术实践,所使用的设备系统:OpenHarmony 3.2 Release
在应用开发中,Web组件是非常实用的一个功能组件,很多时候我们开发应用的部分功能中都会用到它,那在实际使用的过程中,默认的配置和实现一般是不能满足实际需求的,所以要做一些额外的配置或事件处理,那本文就来分享一下我在日常使用中的一些心得。
常用配置说明
禁止网页缩放和横竖向滚动条显示,适用于加载单页web应用
禁止有声视频播放时需要用户手动点击,适用于允许网页用脚本触发点击自动播放音视频
开启文档对象模型存储API、数据库存储API权限,如果网页需要使用这些api的话需要开启
设置UserAgent
扩展window对象
在网页中调用我们注入的JavaScript对象提供的方法
添加长按菜单
下面实现代码中用到的自定义对话框 LongPressMenuDialog
由于代码较多,可以参考我在 BrowserCE 开源项目中的完整实现:https://gitee.com/ohos-dev/browser-ce/blob/master/entry/src/main/ets/common/CustomDialog.ets
最终实现效果
监听下载事件
下面实现代码中我是为了实现在线下载hap应用并安装,仅供参考,在实际使用过程中应根据你的实际需求去做相应的调整,如果只是下载图片、文档等资源到应用沙箱内,只需要使用 request.downloadFile
即可实现,其中用到的自定义对话框 DownloadAndInstallHapDialog
由于代码较多,可以参考我在 BrowserCE 开源项目中的完整实现:https://gitee.com/ohos-dev/browser-ce/blob/master/entry/src/main/ets/common/CustomDialog.ets
最终实现效果
持续关注
- 关于作者:I’m westinyang
- 哔哩哔哩:个人主页
定制的才是最强的
PC上的web也能实现吗
PC OpenHarmony吗?只要是3.2+理论上都通用的
APP这种对话框见的比较多,网页端倒是比较少见
配置说明很详细