iOS上H5一些兼容性问题

  1. iOS 上 使用input标签会自动调起软键盘,如果不想调起软键盘,建议不写input标签,使用div代替
    场景:比如点击输入框后跳转其他页面,如果使用input框,在iOS上会先弹出软键盘再跳转

  2. input不能自动聚焦,使用DOM.focus() 或是autofocus属性或者手动触发点击事件都不行,主要是因为iOS的安全机制,得用户触发事件后才能聚焦
    解决方案:搜索框和搜索结果页在同一个页面,不要使用路由跳转

  3. 返回上一页,页面加载完成后会先白屏,得滑一下页面或者触屏,才能恢复正常
    解决方案:iOS H5 history.back() 返回上一路由 页面白屏

  4. input textarea 上边框显示较粗,如下图所示
    在这里插入图片描述
    解决方案:

input, textarea {
    -webkit-appearance: none;
}
  1. iOS textarea标签 placeholder多行时被隐藏,收起键盘又显示
    解决方案:https://blog.csdn.net/yujin0213/article/details/100936200

  2. iOS input、textarea聚焦迟钝,需要点击多次才能聚焦
    解决方案: 去掉项目里面引用的fastclick组件,原因是iOS11以上不需要引入这个,引入该组件还会引起其他bug
    参考:fastclick无需对IOS11及以上做处理 、fastclick在ios11以上引入问题

  3. iOS上正则表达式兼容问题
    问题:js正则表达式,使用了零宽断言 ?

tpl = tpl.replace(/(?, 'Haya');

iOS报错 Invalid regular expression: invalid group specifier name
解决方案:Invalid regular expression: invalid group specifier name

你可能感兴趣的:(移动端兼容)