在滴滴开发H5一年了,我遇到了这些问题

IOS圆角不生效

ios中使用border-radius配合overflow:hidden出现了失效的情况:

图片

 

出现此问题的原因是因为ios手机会在transform的时候导致border-radius失效

解决方法:在使用动画效果带transform的元素的上一级div元素的css加上下面语句:

-webkit-transform:rotate(0deg);

IOS文本省略溢出问题

在部分ios手机上会出现以下情况:

图片

 

原因

在目标元素上设置font-size = line-height,并加上以下单行省略代码:

.text-overflow {
    display: -webkit-box;
    overflow : hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}

或者:

.text-overflow {
    overflow : hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

由于不同系统包含的字体的行高不一致,即使设置了height = line-height 一样会有以上问题

解决方案

经过测试,在height = line-height = font-szie的情况下,加上padding-top: 1px可以解决这个问题,即在需要使用单行省略的地方加上:

.demo {
    height: 28px;
    line-height: 28px;
    font-size: 28px;
    padding-top: 1px;
}

如:<div class="text-overflow demo">我是需要进行单行省略的文案</div>

安卓手机按钮点击后有橙色边框

图片

 

解决方案:

button:focus {
    outline: none;
}

优惠券打孔效果

需求中经常需要实现一类效果:优惠券打孔,如下图所示:

图片

 

通常情况下会找设计采用图片的的形式,但这个方案最大的缺陷是无法适配背景的变化。因此,我们可以采用如下方案,左右两侧各打一个孔,且穿透背景:

图片

 

具体细节可以参考这篇文章:纯 CSS 实现优惠券透明圆形镂空打孔效果(https://blog.youkuaiyun.com/haplant/article/details/125015825)

Clipboard兼容性问题

navigator.clipboard兼容性不是很好,低版本浏览器不支持

图片

 

解决方案:

const copyText = (text: string) => {
  return new Promise(resolve => {
    if (navigator.clipboard?.writeText) {
      return resolve(navigator.clipboard.writeText(text))
    }
    // 创建输入框
    const textarea = document.createElement('textarea')
    document.body.appendChild(textarea)
    // 隐藏此输入框
    textarea.style.position = 'absolute'
    textarea.style.clip = 'rect(0 0 0 0)'
    // 赋值
    textarea.value = text
    // 选中
    textarea.select()
    // 复制
    document.execCommand('copy', true)
    textarea.remove()
    return resolve(true)
  })
}

Unocss打包后样式不生效

这个问题是由webpack缓存导致的,在vue.config.js中添加以下代码:

config.module.rule('vue').uses.delete('cache-loader')

具体原因见:UnoCSS webpack插件原理(https://juejin.cn/post/7325255455290621986)

低端机型options请求不过问题

在我们的业务需求中,覆盖的人群很广,涉及到的机型也很多。于是我们发现在部分低端机型下(oppo R11、R9等),有很多请求只有options请求,没有真正的业务请求。导致用户拿不到数据,报network error错误,我们的埋点数据也记录到了这一异常。

在我们的这个项目中,我们的后台有两个,一个提供物料,一个提供别的数据。但是奇怪的是,物料后台是可以正常获取数据,但业务后台就不行!

经过仔细对比二者发送的options请求,发现了问题所在:

图片

 

发现二者主要存在以下差异:

  1. Access-Control-Allow-Headers: *

  2. Access-Control-Allow-origin: *

于是我便开始排查两个响应头的兼容性,发现在这些低端机型上,Access-Control-Allow-Headers: *确实会有问题,这些旧手机无法识别这个通配符,或者直接进行了忽略,导致options请求没过,自然就没有后续真正的请求了。

图片

 

解决方案:由后台枚举前端需要的headers,在Access-Control-Allow-Headers中返回。

此外,将Access-Control-Allow-Origin设置为*也有一些别的限制:

  • Access-Control-Allow-Origin:*不生效(https://blog.youkuaiyun.com/ssk0411/article/details/109781140)

  • Access-Control-Allow-Headers踩坑(https://blog.youkuaiyun.com/A0101010/article/details/120976663)

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值