微信鸿蒙版 8.0.14 查询 navigator.maxTouchPoints 为 0 导致的 bug

最近有鸿蒙客户反馈在微信中使用系统无法操作。

该系统开发时间较早,用的也是当时的前端组件(iCheck)

该组件通过 ua 和 maxtouchpoints 来判断当前平台是否为移动平台,然后可能有些不同的逻辑

在微信鸿蒙版中,因为 ua 不在苹果安卓之列,然后最大触摸点数返回的是 0,导致组件判断错误,进一步导致组件行为 bug,无法选中。

目前只能是先修改下组件对移动端的判断逻辑,增加 openharmony 字符串的判断。

_mobile = /ip(hone|od|ad)|android|blackberry|windows phone|openharmony|opera mini|silk/i.test(navigator.userAgent) || (navigator.maxTouchPoints && navigator.maxTouchPoints >= 1);

iCheck v1.0.4

目前测试鸿蒙系统中,自带浏览器、QQ、企业微信均正常无此 bug。

另外记录一个手机端排查问题用的开发者工具:https://github.com/liriliri/eruda

posted @ 2026-01-30 16:08  不是豆豆  阅读(6)  评论(0)    收藏  举报
友情链接:迷途