当前位置: 首页 > Web前端 > HTML5

前端开发:我遇到的那些bug(持续更新中)

时间:2023-04-05 12:57:08 HTML5

我从事前端开发大概一年了,期间遇到了很多问题,坑的最多的是一些自己不知道的坑.所以写出来,警示后人。1、ios端sort方法无效问题描述:小程序制作聊天列表时,需要sort对列表进行排序。嗯,后来有用户反映最新的回复没有置顶。..一遍又一遍地检查代码。发现没有问题,在小程序IDE中查看也没有问题。最可惜的是项目完成后直接上线,没有测试环节,顶多几个开发者用手机查看,但开发者就那么几个,根本做不到精准测试.至于后来的事情。..我所在的团队已经解散了,所以如果这个小程序还在运行,那我觉得这个bug应该还在吧哈哈哈~这个bug是现在公司做一个模拟数据的时候,需要shuffle一个数组,然后在手机上预览的时候发现没有随机行,发现的时候非常惊讶。立马想起了之前公司留下的bug,我的天。解决办法:自己改写一些sort,还能怎么办?具体方法请参考这位大师的操作。IOSsort方法的兼容性2.部分安卓手机控制台不兼容说明:可能是我的基本功不够扎实。.没想到这完全兼容。之前在做h5,突然有个测试小伙伴来告诉我,某台测试机有问题。..拿着别的测试机还好,但是一想到为什么那个不行,测试就生气了。“肯定是那台机器出了问题……”云云。.最后,我实在睡不着她,只好更加努力地满足她的要求。我调试了一下。当然,使用控制台来调试。我又陷入了深深的恐惧之中,为什么,为什么我的程序运行不了,而且没有日志。..好吧,我真的很绝望,我希望你以后不要在项目中保留日志,或者重写解决方案:重写它,或者注释掉它,就像这样window.console={log:function(){}}上面的问题是可以避免的。3.ios下日期表示说明:一般我都是这样表示一个日期'YYYY-MM-DDhh:mm:ss'。但是后来,我发现自己用这样的日期来获取时间戳还是太年轻了。NewDate('YYYY-MM-DDhh:mm:ss')在ios下不起作用。又是一个绝望的深渊。尝试了很多次,问了ios开发后终于知道了。你需要'YYYY/MM/DDhh:mm:ss'的格式来解决这个问题:按照斜线的格式就好,像这个newDate('2017/08/0813:55:22')建议它最好统一使用斜杠4.小程序下的DOMParser不可用说明:严格来说这不是bug,但是因为之前看到腾讯云提供的小程序SDK中使用了DOMParser,感觉很惊喜。由于在小程序中不能使用DOM操作功能是自己的限制,所以实际上是在自己家提供的SDK中使用。这不是骗局吗?之前在IDE里用的还不错,后来导演跟我说真机上用不了的时候,真的是10万个头。主要是需要用在xml请求上,转成json或者object。解决办法:自己写一个转换方法Bar。但是如果转换量很大,真的很痛苦,或者你可以看看有没有其他的解决办法。顺便说一下,我自己写了一个。[捂脸]别打我5.mac上使用calc问题描述:之前在一个轮播上使用绝对定位,然后根据它的左边定位旋转。后来考虑到手指在移动端滑动时,随着手指滑动的距离,需要有一个偏移量和弹力效果,所以加入了calc来计算偏移量。结果后来设计告诉我,mac下的轮播图点几下就失效了。但是我没有mac,而且这个是外包项目,所以不能去设计看。还好以前的同事有mac,就让他看一下。最后发现逻辑没有问题。最后怀疑是属性兼容。毕竟前几次开关还好,后来就失败了。真的很痛苦。..解决方法:频繁切换时尽量不要使用calc进行定位。您可以选择向左或翻译。只要你不使用left:calc(x+y);频繁切换时,没关系。至于其他的,我还没有深入研究过。6、字符串和数字比较问题描述:之前帮朋友做了一个东西,在页面逻辑上写了一个数值判断。后来他告诉我,他有一段时间报错了。我去看看。原来是值类型的问题。大概代码就是这样a>b的,就是这么简单的一段代码。然后出了点问题。贴出来,可以看到之前是正常的,但是到了'9'和'10'的比较的时候,就出问题了。这是因为js中的两个字符串比较了他们的ASCII码。于是就有了解决问题的方法:写的时候注意就好了。7、Android手机浏览器字体小于12px时,垂直居中位置偏移。暂时还没有找到完美的解决办法,如果找到了记得评论哦。8、安卓手机浏览器inputtype="file"设置multiple无效,无法选择多张图片。这个问题暂时还没有找到完美的解决方案(其他暂时想不起来了。。。继续更新。如果遇到莫名其妙的,记得评论告诉我。我会补充,互相鼓励,互相鼓励。非常感谢)