一周bug记录

最近做七夕活动遇到一些bug,周五了,所以记录一下。(本人是在微信浏览器遇到中的)

1: display: flex , display: block,display: none

产品要求:进入页面后,如果登录隐藏输入框,如果未登录显示输入框

技术实现:先隐藏输入框,display: none,请求接口后台返回未登录display: flex,登录就还是display: none

技术bug: display:none自然是隐藏,不存在兼容性,部分安卓机中div属性display:flex之后元素显示出来,苹果浏览器中display: flex之后不会显示元素。(做多端兼容性时候最蛋疼的就是苹果手机了,click事件需要在元素上添加cursor:pointer才能触发事件,输入框调起键盘后页面提高,完成后页面不会回到原始位置等等),

技术解决方案: 输入框最外层加一层盒子div,通过控制此元素的属性display:none或者block即可。。

2:setcookie,getcookie

先上代码

产品要求:对于上述输入框,希望用户输入完成后下次进来信息保留,由于这是产品在上线后新加的功能,并且是在星期五晚上,不想麻烦后台出接口,就准备用cookie方式,来写

技术实现,点击发起助力按钮时候验证以上信息是否填写完毕并验证正确性,否则弹出提示。都满足条件后,所以信息赋值一个对象,通过JSON序列化后存在某个子端(此处演示定位userInfo),点击进入页面时候先getcookie('userInfo'),看是否有值,无值则什么不做,有值就一一赋值到输入框。

技术bug: 上线后发现(本人是小米6手机,昨晚手机亲测没问题,所以才上线的,自信没问题),这种技术在手机微信端存在兼容性,苹果手机大部分不出现地址等信息。通过fiddler抓包工作,发现cookie中是空的(用的同事的苹果7).

技术解决方案: 调取后台接口,返回数据,填写数据(果然还是需要以来后台,看来自己技术还是太差)

3:javascript获取网络时间

产品要求: 上图可以看出活动存在开始日期和截止日期,未在这个时间区间内,点击弹出提示框(活动未开始 或者 活动已经结束)

技术实现: 由于后台因为某种原因不能更改上线,所以需要在前端是是实现时间的获取,还不能是本地时间,因为一旦手机时间更改就错了,所以必须是网络时间,百度,google都搜了js不能获取网络时间(或者我没有找到方法,如果你有,请告知,非常感谢)。有那么一瞬间我看到了控制台接口中的请求头中的日期,瞬间感觉天无绝人之路啊。请求头的消息应该是网络时间吧,上网搜索,代码如下:

curDate获得的即使当前时间戳,然后和设定的开始时间结束时间进行比较即可,瞬间感觉又增长一知识。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,795评论 25 709
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,898评论 0 6
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,128评论 0 26
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,258评论 4 61
  • 为什么我们愿望与实际行动存在差距 ? 今天晨读书目《决策的力量》 作者[美]鲍勃·尼斯(Bob Nease)曾任美...
    周筠桐阅读 4,021评论 0 0