一、背景
在开发微信小程序时,不同的手机型号会出现兼容问题,特此记录一下
二、安卓/IOS兼容问题总结
2.1、new Date()时间转换格式时,IOS不兼容
问题:在安卓中时间格式2024-1-31 10:10:10,但是在iOS中是不支持 "-" 作为日期分隔符
原因:IOS系统及 Safari 不支持YYYY-DD-MM时间格式
解决:将日期中的"-",替换为"/"
let time = new Date('2022-12-13 19:00'.replace(/-/g,'/'))
2.2、图片格式展示问题
问题:.webp 格式图片在 ios 设备上无法正常显示
原因:IOS系统的原生浏览器Safari不支持.webp格式
解决:将 webp 的后缀名替换为 jpg或png 的后缀名
img.replace(/\.webp/,'.jpg')
2.3、IOS机型margin属性无效
问题:底部footer设置margin属性时,IOS无效
原因:iOS8后,UiView有个属性 var layoutMargins:UIEdgeinsets,如果一个View是ViewController的rootview,系统会自动设置和管理margins , top和bottom margins被设置为0pt,left和right的值根据当前的 size class 不同而不同