导读: 本文会长期更新,目前仅写出已收集并且经过验证的案例分享🙉
大家在做前端开发过程中势必会和H5打交道<这里指的H5仅表示在苹果系统下运行的H5>
,在原本不应该出现的异常行为经常会搞得稀里糊涂,遂去各类搜索引擎搜索结局方案,本文故此摘录各类表现在苹果环境下的开发“异常行为”,并且给出大概可行的兼容方案来帮助大家单项搜集的烦恼
可能存在兼容性问题搜集
1.Date.parse()
parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。W3C参考文档
代码部分:
1 | Date.parse("2020-02-02 00:00:00") |
可能会在苹果环境中出现NaN
的返回结果
解决方案是:
- 不使用具体时间 =>
Date.parse("2020-02-02")
- 使用“**/”代替“-**”来分割日期 =>
Date.parse("2020/02/02 00:00:00")
- 替换字符串为第二种方案 =>
Date.parse("2020-02-02 00:00:00".replace(/-/g, '/'))
2.window.open()
open() 方法用于打开一个新的浏览器窗口或查找一个已命名的窗口。W3C参考文档
代码部分:
1 | window.open('//rexhang.com'); |
可能会在苹果环境中出现被阻止打开的情况,这是由于苹果安全策略进行了拦截
解决方案是:
- 使用
window.location.href = '//rexhang.com'
代替 - 使用
window.location.replace('//rexhang.com')
代替
3.待博主更新…
结语
这样的坑还有许多许多不仅仅是ios还有android也会存在一些兼容性问题,本文会长期更新,尽可能搜集更多的兼容案例,如有更多案例本文未提到的,希望大家踊跃提出,反馈在下方评论里,多谢大家~