时间:2021-05-08
最近在写嵌入到小程序webview的一个h5页面,是一个文章评论的功能,这个过程中,遇到很多兼容性的问题,在不同机型上的表现也很不一致,所以总结了以下这些问题,记录下来,以便以后查看
1、日期问题
对于yyyy-mm-dd hh:mm:ss 这种格式在ios系统不识别
时间格式化的时候,在浏览器端处理好好的,到了手机端,就变成NAN,或者null,这种情况,是ios系统不能转化这种类型的时间。
let date = new Date('2019-02-28 18:33:24'); // null`解决方案是,转成 yyyy/mm/dd hh:mm:ss 这种格式就可以了
replace(/\-/g, "/")2、键盘收起,页面卡住,不回落
ios12上,发现键盘收起的时候,页面会卡主,留下底部一片空白,稍微动一下页面,就会恢复。
这种问题,在网上查了很多解决方案,大致是在blur事件中,让页面滚动一下
window.scrollTo(0, scroll);但是有一个很严重的问题:如果页面上有按钮需要操作 ,例如,评论的输入框+发布按钮,输入完文字,点击“发布”,触发click事件的时候,会导致页面先触发blur事件,键盘回落,然后一切就结束了。。。。按钮点击没有起任何作用。
解决方案: 把click事件更换成ontouchstart 可以解决这个问题。 ontouchstart 事件优于click事件触发
3、ios12在微信小程序的webview,键盘收回,页面底部会留白
这个问题怀疑是页面的scroll设置了auto导致的
4、iphone fix 失效,导致一些机器上textarea光标偏移
解决方案: 所有兄弟元素变成absolute, 父元素overflow:auto;
父元素:height: 100vh; position: relative; overflow: auto; 兄弟元素:position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow-x: visible; overflow-y: auto; padding-bottom: 10px; z-index: 15、键盘遮挡输入框
输入框如果使用了fixed固定在底部,键盘顶起的时候,iphone上fixed会失效,导致页面滚动输入框会随着页面滚动,并且在部分机型上,输入框偶尔会被键盘遮挡,这种偶现的问题,很不友好
解决方案: 放弃使用fixed布局,页面如果有滚动,也放弃absolute,如果强行要使用absolute,请参考上一条光标偏移
建议使用flex布局,兼容性会得到解决。
当然,如果遇到以上这些问题,说明产品设计就很不合理,如果必要的话,还是要更换设计,改成input不需要被键盘顶起的设计,这些兼容性的解决方案,也不并不能完美的解决所有机型的问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
【h5制作网页】h5页是什么意思?iH5如何适应不同手机h5页面?下面就和小编一起来看看吧! h5页是什么意思? 经常有朋友和H5商量,在和他们交流的过
【h5网页】h5页面设计是什么意思?h5技术和php技术的区别是什么?如何把网上做的H5页面发到微信公众号?下面就和小编一起来看看吧! h5页面设计是什么
小程序webview的现状h5页面在小程序中的交互(跳转)场景h5跳转小程序native页面(如:调用小程序地址选择能力,然后返回对应的地址信息给h5页面)h5
h5网页在线制作工具有哪些,你用得多吗?虽然h5页面很常见,但并不是每个人都能做出来,尤其是不懂任何设计的人,只能看别人做的H5,欣赏。事实上,制作h5页面
【h5页面】h5页的动画效果是怎么制作的?前端设计角度简述手机/移动h5页和pc/网页的区别是什么?h5页面制开发,一般定制h5页多少钱?下面就和小编一起来