1、苹果手机IOS系统 new Date(YYYY-MM-DD) 会报错
将 YYYY-MM-DD 换成 YYYY/MM/DD 格式
建议重写 Date() 函数
try {console.log('HTML say: 进入重写 Date 函数逻辑')// 修改Datefunction myDate() {const OldDate = DateDate = function () {if (arguments.length > 0 &&typeof arguments[0] === 'string' &&arguments[0].includes('-')) {const p = arguments[0].replace(/-/g, '/')arguments[0] = p}return new OldDate(...arguments)}Date.prototype = OldDate.prototypeconst oldDateStaticParam = Object.getOwnPropertyNames(OldDate)const dateStaticParam = Object.getOwnPropertyNames(Date)const diffParam = []for (let i = 0; i < oldDateStaticParam.length; i++) {let find = falsefor (let j = 0; j < dateStaticParam.length; j++) {if (oldDateStaticParam[i] === dateStaticParam[j]) {find = truebreak}}if (!find) {diffParam.push(oldDateStaticParam[i])}}for (let i = 0; i < diffParam.length; i++) {Date[diffParam[i]] = OldDate[diffParam[i]]}}// ----if (navigator.userAgent.includes('iPhone') ||navigator.userAgent.includes('iPad')) {myDate() // 兼容该死的 IOS}} catch (error) {console('HTML say: 重写 Date 函数逻辑运行出错', error)}
2、安卓机 弹起键盘 会压缩屏幕高度
根dom元素高度 不要用 100% ; js获取设备高度使用px设置页面高度;
document.body.querySelector("#main").style.height = window.innerHeight + "px";
3、sort排序在不同设备结果不一致问题
在使用sort排序时,若遇到相同数据或非数值数据时,可能会出现不同手机排序不一致问题
建议 sort((a,b)=>{return a===b? 0 : a>b ? -1 : 1}) 把相等情况返回0的情况也写出来; 还不行的话,就手写排序逻辑吧
ing ……
如果觉得《移动端开发兼容性问题记录(H5 vue vant)》对你有帮助,请点赞、收藏,并留下你的观点哦!