[前端][fmui] IOS兼容问题总结
1、ios 设备不支持部分时间格式
解决方案:
ios 下 new Date('2020-03-11 00:00:00')
不生效,需要对日期进行 date.replace(/-/g, '/')
处理。
ios环境下,new Date('2021/12')是非法的,需要改为new Date('2021/12/1')
2、ios position:fixed层级异常
ios里定位的层级取决于父元素的层级,不管是absolute还是fixed,而安卓里fixed层级是独立计算的。
解决方案:
给父元素也加定位并设置较大的z-index值。 (最好是一开始就把所有fixed定位元素放在同级dom下。)
遇到-webkit-overflow-scrolling: touch; 时出现样式冲突
解决方案:
方案1:使用transform: translateZ替代z-index;
方案2:将touch改为 -webkit-overflow-scrolling: auto;
3、ios input无法左右滑动
解决方案:ios input无法直接左右滑动,但是textarea可以滑动,使用textarea模拟input实现ios的左右滑动示例知识库
4、ios16.2 版本以上使用mui的picker选择器显示异常
解决方案:[前端][fmui]ios16.0版本以上mui的picker选择器显示异常 | 移动前端常见问题库
5、ios 不支持正则表达式零宽断言(?=、?<=、?!、?<!)
解决方案:[前端][fmui]ios端使用断言语句阻塞程序执行,导致页面空白
6、ios安全区域适配问题
在 iphone X 之后引入了一个新概念:“safe area(安全区域)”,安全区域指屏幕内不受圆角、齐刘海、底部小黑条等元素影响的可视窗口
解决方案:[前端][fmui]ios安全区域适配问题 | 移动前端常见问题库
7、ios环境返回上一页不刷新
解决方案:[前端][fmui] 返回页面数据不刷新的处理方案 | 移动前端常见问题库
8、ios部分机型 软键盘收起页面不回滚导致页面出现空白
解决方案:
$('body').on('blur', 'input,textarea', function () {
window.scrollTo(0, 0);
});
9、部分ios ejs.page.open无法朓转页面
解决方案:低版本需要使用全路径url朓转