HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件

HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件 机型:HUAWEI Pure70
操作系统: HarmonyOS 5.0.0.135

我在实现一个语音输入转文字的功能,页面交互由 Web 组件实现,语音转文字由应用实现,实现流程如下:

  1. Web 组件实现一个聊天框页面,页面内有一个按钮,长按可以录入语音

  2. 当按钮按下时,会与应用通信,由应用开启麦克风接受语音,并将转换的文字回传给 Web组件

问题:
当按钮按下时,应用触发麦克风收音,如果应用没有麦克风权限,会弹出系统弹窗,提示用户授权。当此弹窗弹出时,我的 Web组件内的按钮元素上绑定的touchcencel事件和blur事件均为触发,导致我无法重置按钮的状态!

我的 Web组件是使用 React构建的,我通过React的合成事件,以及直接将事件绑定在 document上均不生效!


更多关于HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

您好,为了更快速解决您的问题,并且吸引更多用户一同参与您问题的解答与讨论,建议您补全如下信息:

更多关于HarmonyOS鸿蒙Next中使用ArkWeb加载的H5页面,按钮长按时被系统弹窗打断后无法接收touchcancel或blur事件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,当ArkWeb加载的H5页面中的按钮长按时,如果被系统弹窗打断,确实可能无法正常接收touchcancelblur事件。这是由于系统弹窗优先处理了事件,导致H5页面的事件流被中断。建议在开发时,通过监听visibilitychange事件或focus事件来检测页面是否被中断,并在事件处理中手动触发相应的逻辑,以确保用户体验的连贯性。

回到顶部