苹果端APP兼容问题(长期更新)

本文主要探讨了在iOS端遇到的前端兼容性问题,包括JS时间格式问题,CSS的横向滑动和元素高度变化,以及uni组件的input事件响应异常。在JS中,为解决时间格式问题,需将'-'替换为'/'。对于CSS,添加overflow样式来禁止横向滑动,并解决高度绑定问题。最后,在uni组件中,针对input事件在iOS端的双响应问题,提出了通过比较前后输入值来过滤无效响应的策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.JS兼容问题

1.时间格式兼容问题

当使用传统格式new Date(“YYYY-MM-DD HH:mm:ss”)获取时间对象时,在ios端其时间显示会变成NaN,如下图,所以需要修改时间参数的格式,将‘-’改为‘/’,此时格式为new Date(“YYYY/MM/DD HH:mm:ss”),此时可正常获取时间,Android端两种格式都可以。
在这里插入图片描述
当时用new Date(“YYYY/MM”)获取时间对象时,ios端显示时间同样会变为NaN,如下图,此时需补足年月日,至少为new Date(“YYYY/MM/DD”)才可正常获取时间,Android端两种格式都可以正常获取时间对象。
在这里插入图片描述
在这里插入图片描述

改为:
在这里插入图片描述
在这里插入图片描述

二.Css兼容问题

1.页面横向滑动

当页面宽度设为width:100%,页面可以左右滑动,可直接禁止横向滑动,添加overflow: hidden;overflow-y: auto;

1.页面元素高度变化

vue页面设置其单个元素高度,与页面高度绑定,页面高度变化时,元素高度无改变;

三.组件兼容问题

1.uni组件

uni内置组件input标签的@input事件可监控并响应实时输出该组件的输入值,返回值为e.detail.value。在ios端,输入值时会在同一次输入中响应两次,第一次响应的输出值是还未新输入前的值,这里需要自行处理,我给出的处理是判断是否与之前输入的值相等,如果是,则return退出这次响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值