IOS系统踩坑2

作者: 阳光小美女king | 来源:发表于2019-07-03 18:07 被阅读0次

路漫漫其修远兮,吾将上下而求索。
不禁感叹移动端的h5兼容真心是一门艺术~~

1. ios中设置input 的type = number 限制只能输入数字无效,安卓有效

解决方法: <input type="number" pattern="[0-9]*">

2. ios 中select标签设置text-align:right;text-align-last:right无效,安卓有效

解决方法:

 <select v-model.trim="formData.deadline">
     <option value="12个月">12个月</option>
     <option value="24个月">24个月</option>
     <option value="36个月">36个月</option>
   </select>
<style>
select:{
    direction:rtl
}
option{
    direction:ltr
}
</style>

实现效果:


效果图

不过,当选项过多产生滚动条的时候,该方法并不友好,会有滚动条位置遮盖选项的问题:


效果图
最终解决方法:
  <div class="select_wrap">
            <span class="show_op">{{formData.deadline || '请选择'}}</span>
            <select v-model.trim="formData.deadline" @change="changeSelect">
              <option value="12个月">12个月</option>
              <option value="24个月">24个月</option>
              <option value="36个月">36个月</option>
            </select>
 </div>
<style>
.select_wrap {
            position: relative;
        }
.show_op {
            font-size: 16px;
            color: rgba(160, 160, 160, .65);
            line-hight: 20px;
            position: absolute;
            top: 0;
            right: 0;
            width: 100%;
            text-align: right;
        }
select {
        line-height: .2rem;
        z-index: 1;
        position: relative;
        width: 100%;
        opacity: 0;
        filter:alpha(opacity = 0);
    }
</style>
<script>
export default {
 data () {
    return {
      formData: {
        deadline :''
     }
},
methods: {
 changeSelect: function (e) {
      e.currentTarget.previousSibling.setAttribute('style', 'color:#212121')
    }
}
</script>

实现原理:
用span元素展示选中结果,将select设置成透明并覆盖在span冤死上面
默认展示‘请选择’的hint,字体颜色为较浅,监听select的change事件,修改展示的字体颜色


默认效果 选中后

3.在ios客户端打开的h5页面如果没有encode,那么如果链接中存在中文或者‘@、+’等特殊符号会遇到如下问题:

修改新的A页面(未encode的页面)-> B页面 ->按返回键回退到修改前的A页面
原因:
首先要清楚,ios按下回退键:

  1. 默认会将返回的链接encode
  2. 且优先从缓存读取,无缓存或缓存过期才会刷新页面
  3. 因为缓存是将页面链接作为关键字key的,所以encode和未encoded的链接取到的是2份不一样的缓存
  4. 结果造成每次修改A页面,但是回退回来的时候总是旧版本,不是最新修改后的A页面

所以客户端的链接参数务必要encode,不然会带来不必要的麻烦

相关文章

  • IOS系统踩坑2

    路漫漫其修远兮,吾将上下而求索。不禁感叹移动端的h5兼容真心是一门艺术~~ 1. ios中设置input 的typ...

  • iOS10的适配

    每次出了新系统,必然要踩很多坑,这次来踩一踩iOS10的坑吧。 一、证书问题 直接选择Automatically ...

  • ios系统bug踩坑

    1. Ios系统bug,自动关联手机验证码时,会复制重复的验证码 解决方法: 因为公司的验证码都是指定的位数,所...

  • 2020-04-29 记一次让小兔子抓狂的gif踩坑事件

    拼多多社招H5 - IOS系统下gif问题踩坑记录。线上地址:https://m.pinduoduozp.com/...

  • Xcode10和iOS12踩坑

    Xcode10和iOS12踩坑

  • 无标题文章

    H5移动端踩坑记录--持续更新分类一、IOS相关 在IOS系统的设备中,audio标签插入的语音的播放只能被交互事...

  • iOS多线程使用踩过的坑

    iOS多线程使用踩过的坑 iOS 开发过程中,我们经常使用系统提供的方法使用多线程(全局并发)包括: 使用起来很方...

  • iOS 14小组件开发总结

     最近项目有开发iOS小组件的需求,开始调研到实现踩了很多坑,借此记录下来。 iOS14系统发布后,桌面添加的新的...

  • 算法踩坑6-二叉搜索树排序

    背景 接上面五篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 ...

  • iOS项目中误删文件然后还原导致的问题

    本人初学的iOS,由于自己摸索,导出踩坑,特此随笔几下我踩过的坑,老鸟就不用点进来了。 一、加强对这个坑的认识,毕...

网友评论

    本文标题:IOS系统踩坑2

    本文链接:https://www.haomeiwen.com/subject/dsechctx.html