描述
事情要从项目中一个自定义的input组件说起.这个组件会传入一个type参数,控制输入为整数或者浮点数,或者为text.在pc上好好的,然而在手机上metamask中却是输入不了整数.
调试
为了方便调试,找了一圈资料.最终找到了一个方法.用pc上的chrome连接手机上的chrome然后进行调试.也就是说直接在pc就可以打开手机上的chrome,然后能检查元素等等(就像在pc上调试一样)
- 手机用数据线连接到电脑,打开开发者模式
- 在pc的chrome地址栏中输入chrome://inspect回车进入,出现以下内容.
每一个tab下面都有相关的操作
inspect: 进入调试,此时pc上就会打开一个窗体,如下
pause: 暂停调试
focus tab: 当前tab获取焦点
reload: 重载
close: 关闭
至此就可以愉快的调试了
解决
经过一番调试发现.在自定义的input组件中,用到了replaceAll方法,这个字符串方法是在ES2021中新增的方法.在低版本的浏览器内核中无法使用,手机上的浏览器内核比pc上的要低好几个版本.最后把replace替换为正则来写就可以了.replaceAll的兼容性