开发误区----前端开发

前端开发

一次前端趟过的坑

浏览器适配

在一次试用uni-app开发前端程序中,遇到ios中date获取不到值的问题,
由于本人使用H5开发,当时开发组件是在插件市场找到的一款名叫mobile-calendar-simple的日历组件。
遇到问题的
1.插件不适配ios的Safari浏览器
2.特殊浏览器获取不到本地时间

解决方案

Safari浏览器时间获取不到

  • 查看是否有值
  • 跟踪变量
  • 百度搜索
    当时追究到最初没有值的组件是
    1281276-20190729191039829-1879715816.png
    好在引用这插件时时引用的源码,之后追加到传入值的地方去打印如下变量
    1281276-20190729191125615-1668401779.png
    之后发现 tip 为-1,findIndex这个函数是寻找元素索引,这个方法试过浏览器兼容,
    确定问题出现在日期上,随后百度不同浏览器日期实现,果然ios日期的底层不一样,解决方案是
    添加如下代码适配 图3
    1281276-20190729191150612-1510128351.png
    特殊浏览器获取不到本地时间
    这个问题同样是一个时间获取问题,图4
    1281276-20190729191200203-630705037.png
    图上所标的属性获取不到值
    找到源头,经过测试发现
    1281276-20190729191214499-712295982.png
    值是空值
    导致他空值的源头终究还是 图6 所示的值是空值,
    它空值究其原因是初始化时出错了
    1281276-20190729191234300-470965502.png
    之后查阅资料发现new Date().toLocaleString()这个方法在不同浏览器之间的兼容不同,
    解决方案就是手动拼接一个初始化时间
    1281276-20190729191255893-1378453049.png

转载于:https://www.cnblogs.com/bananafish/p/11265887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值