记一次解决小程序BUG的经历

2023年02月21日

在某个项目里,有个发布话题的页面,如下

屏幕截图 20230221 150002.png

ce5dda280525f7d347cec5dcc3fcc78.png

7e23c9e48f6f4d3b95fd3526bddf642.png

a5ef6ee0d4c78452ec23932e22cfbb4.png

当我做好后发给甲方,甲方却给我反馈了一个百思不得其解的bug:当先点击上传图片,再输入文字后,会再次弹出选择图片弹窗。

image.png

我在手机里反反复复测试也没能复现这个bug,于是只能向甲方问询其系统版本,得知是IOS16.1.2。我看了看我手机系统版本IOS16.1.1,难道和系统版本有关。我手机升级也只能升到16.3.1,想着可能还会有问题,变打算升级后再测试一下。

升级后一测,还真有这个问题。我百思不得其解。在选择图片的回调里打断点,确认是在内容输入框输入的时候会莫名其妙得调用选择图片回调。

在反复测试后,发现可能是input、blur事件触发了选择图片回调,于是尝试阻止事件冒泡。居然发现有效。这真是惊呆我了。完全说不通。

不过问题既然解决,那发给甲方看看。甲方那居然还有问题。我吐血了。

没辙,晚上我想着继续测试。先弄一个最简单的模型,只保留图片上传和内容输入模块。相继测出更多问题:

  1. 当把文本输入的textarea换为input后,问题消失;
  2. 当上传图片超过2张图片后,输入文字会,先删除第二张图片,直至只有一张图片后,才会调用上传方法(每张图片上绑定了一个删除事件)。至于为什么会先删除第二张图片,鬼知道。

以第2条为切入点,我把事件拿掉后,发现问题消失。于是猜测,可能是在编译的时候把回调函数绑定错误,导致页面回调出现了混乱。就是说textarea的输入回调,和上面的上传图片回调名可能出现了重名。如果是这样,那我再绑定一个空函数应该可以解决。

image.png

这样处理后,测试没有问题。发甲方测试后,问题解决。

至此改BUG解决。但是问题出现在哪,仍然没有确认。在此记录一下吧。

发表留言
昵称
联系方式
留言
0 / 200
留言列表