写在前面: 目前团队的项目是开发一个HybridApp混合app,这样做的好处是只需一个前端就能完成一个App移动端多处终端(安卓,ios,pad,微信等)内容的开发,生了很多人力物力,但是在开发的过程中发现ios端对某些html,css和js属性会有兼容问题,当遇到这些问题并且解决后,就来简书写一些博客来总结这些问题,也希望对遇到同样问题的同学有所帮助
问题描述:在某些IOS版本里面的解释new Date('2017-07-19') 就不正确,在IOS5的Safari中返回的永远是"Invalid Date",这是因为低版本的Safari解释new Date('2017-07-19)这个对象不一样,在某些IOS版本里面中的Safari不支持这种写法, 而它支持的写法为new Date('2017','07','19'),这样写就能解决"Invalid Date"的问题,能返回一个Javascript Date回来,Date虽然返回了,可是这个Date对象中方法返回的数据全都不正确。
问题解决:在某些IOS版本里面的Safari能正确解析new Date()那么必须这么写new Date('2017/07/19')
或者
var d = new Date(date);
d = d.getFullYear() > 0 ? d : new Date(Date.parse(date.replace(/-/g, "/")));