寫在前面: 目前團(tuán)隊(duì)的項(xiàng)目是開發(fā)一個(gè)HybridApp混合app,這樣做的好處是只需一個(gè)前端就能完成一個(gè)App移動(dòng)端多處終端(安卓,ios,pad,微信等)內(nèi)容的開發(fā),生了很多人力物力,但是在開發(fā)的過(guò)程中發(fā)現(xiàn)ios端對(duì)某些html,css和js屬性會(huì)有兼容問(wèn)題,當(dāng)遇到這些問(wèn)題并且解決后,就來(lái)簡(jiǎn)書寫一些博客來(lái)總結(jié)這些問(wèn)題,也希望對(duì)遇到同樣問(wèn)題的同學(xué)有所幫助
問(wèn)題描述:在某些IOS版本里面的解釋new Date('2017-07-19') 就不正確,在IOS5的Safari中返回的永遠(yuǎn)是"Invalid Date",這是因?yàn)榈桶姹镜腟afari解釋new Date('2017-07-19)這個(gè)對(duì)象不一樣,在某些IOS版本里面中的Safari不支持這種寫法, 而它支持的寫法為new Date('2017','07','19'),這樣寫就能解決"Invalid Date"的問(wèn)題,能返回一個(gè)Javascript Date回來(lái),Date雖然返回了,可是這個(gè)Date對(duì)象中方法返回的數(shù)據(jù)全都不正確。
問(wèn)題解決:在某些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, "/")));