详解h5页面在不同ios设备上的问题总结


Posted in HTML / CSS onMarch 01, 2019

最近在写嵌入到小程序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: 1

5、键盘遮挡输入框

输入框如果使用了fixed固定在底部,键盘顶起的时候,iphone上fixed会失效,导致页面滚动输入框会随着页面滚动,并且在部分机型上,输入框偶尔会被键盘遮挡,这种偶现的问题,很不友好

解决方案: 放弃使用fixed布局,页面如果有滚动,也放弃absolute,如果强行要使用absolute,请参考上一条光标偏移

建议使用flex布局,兼容性会得到解决。

当然,如果遇到以上这些问题,说明产品设计就很不合理,如果必要的话,还是要更换设计,改成input不需要被键盘顶起的设计,这些兼容性的解决方案,也不并不能完美的解决所有机型的问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
利用CSS3实现动态的二级三级菜单效果实例源码
Jan 04 HTML / CSS
css3的transform中scale缩放详解
Dec 08 HTML / CSS
css3 边框、背景、文本效果的实现代码
Mar 21 HTML / CSS
CSS3 实现时间轴动画
Nov 25 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
详解HTML5中的manifest缓存使用
Sep 09 HTML / CSS
用html5绘制折线图的实例代码
Mar 25 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
Mar 25 HTML / CSS
利用三角函数在canvas上画虚线的方法
Jan 11 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
Aug 16 HTML / CSS
吃透移动端 1px的具体用法
Dec 16 HTML / CSS
HTML5逐步分析实现拖放功能的方法
Sep 30 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
Feb 20 #HTML / CSS
h5网页水印SDK的实现代码示例
Feb 19 #HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
Feb 18 #HTML / CSS
canvas 橡皮筋式线条绘图应用方法
Feb 13 #HTML / CSS
Canvas系列之滤镜效果
Feb 12 #HTML / CSS
canvas学习总结三之绘制路径-线段
Jan 31 #HTML / CSS
移动端Html5中百度地图的点击事件
Jan 31 #HTML / CSS
You might like
php 连接mssql数据库 初学php笔记
2010/03/01 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
PHP实现通用alert函数的方法
2015/03/11 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
微信小程序获取音频时长与实时获取播放进度问题
2018/08/28 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
微信小程序制作表格的方法
2019/02/14 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
[04:16]DOTA2全国高校联赛16强抽签
2018/05/02 DOTA
分析Python中设计模式之Decorator装饰器模式的要点
2016/03/02 Python
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
解决python中使用plot画图,图不显示的问题
2018/07/04 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
python判断输入日期为第几天的实例
2018/11/13 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
Django如何重置migration的几种情景
2021/02/24 Python
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
行政专员的岗位职责
2014/03/10 职场文书
护士求职自荐信范文
2014/03/19 职场文书
质量承诺书格式
2014/05/20 职场文书
幸福家庭标语
2014/06/27 职场文书
党政领导班子群众路线对照检查材料思想汇报
2014/09/27 职场文书
医院护士工作检讨书
2014/10/26 职场文书
公路施工安全责任书
2015/05/08 职场文书
JS实现数组去重的11种方法总结
2022/04/04 Javascript