在开发电子化的新功能的过程中,我犯了一个很低级的问题,在开发者模式下,无论是IE浏览器,还是谷歌浏览器,其实对console.log()都是支持的,所以个人调试无误以后,就部署了测试环境,让另外一个老师进行测试,收到他的测试报告以后我就对生产进行了更新。
说来也好笑,更新了以后,那个负责测试的老师就开了个玩笑,说希望不要出什么幺蛾子,当时自己还自信满满地说,不会有啥问题的,我都测试过,你也测试过,应该没问题。由于是周五晚上更新,周六周日没什么交易,所以到今天周一上午,我还特意去关注了一下,也没什么问题,交易都正常。
结果到了下午找人行做清算的时候,就出幺蛾子了。有地方行业务人员反应点击按钮无反应,无法生成清算凭证,我便问他用的什么浏览器,什么版本?结果说用的是IE浏览器,不知道是什么版本。这个时候我怀疑可能是缓存的问题,电话刚挂断,又有地方行反应点击按钮无反应,报了网页错误,我赶紧用IE浏览器进行错误模拟,发现果真如地方行所说,报错如图:
这个错误很容易理解,console未定义,赶紧找到变更内容,发现我真是太傻了,竟然忘记把console.log()给删了,当时调试的时候,仅仅是用来打个输出而已,后面竟然就忘了(当时需要开发的内容较多),如图:
这个时候,那个测试的老师来了,说了一句我差点笑喷的话:我就说这次怎么这么顺利,原来是在这等着我们呢。然后我问他用啥浏览器做的测试,他说用谷歌啊,我又问用IE没,他说IE不好用。到这,这个问题产生的原因基本就还原了,我是真忽略了IE不兼容console.log()的问题,而那个老师测试的时候又恰好没用IE浏览器,而地方行大多用的都是IE浏览器,而且版本都极低。知道问题原因,解决起来就容易了,直接删了console.log()即可。
其实在很多稍微正规一些的公司,这种问题肯定是不会留到生产的,但是嘛,昆明这边,情况有些特殊,像我们这种公司,需求讨论、开发、测试、维护都基本是一体的,再加之个人又是偏向于后端,对前端也不是太熟,所以很多问题可能会照顾不到,也就产生这个事故了。