详解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实现3D旋转书本效果
Mar 21 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
Apr 03 HTML / CSS
浅谈CSS3中display属性的Flex布局的方法
Aug 14 HTML / CSS
详解CSS 3 中的 calc() 方法
Jan 12 HTML / CSS
canvas实现俄罗斯方块的方法示例
Dec 13 HTML / CSS
HTML5边玩边学(3)像素和颜色
Sep 21 HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
Mar 26 HTML / CSS
HTML5 Canvas中使用路径描画二阶、三阶贝塞尔曲线
Jan 01 HTML / CSS
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
Feb 13 HTML / CSS
html5视频媒体标签video的使用方法及完整参数说明详解
Sep 27 HTML / CSS
详解HTML5中CSS外观属性
Sep 10 HTML / CSS
css filter和getUserMedia的联合使用
Feb 24 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 显示指定路径下的图片
2009/10/29 PHP
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP操作MySQL的mysql_fetch_* 函数的常见用法教程
2015/12/25 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
浅析javascript闭包 实例分析
2010/12/25 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
jquery获取tagName再进行判断
2014/05/29 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
JavaScript验证Email(3种方法)
2015/09/21 Javascript
jquery对象访问是什么及使用方法介绍
2016/05/03 Javascript
BootStrap文件上传样式超好看【持续更新】
2016/05/10 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
jQuery事件与动画基础详解
2017/02/23 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
2017/05/02 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
django与小程序实现登录验证功能的示例代码
2019/02/19 Python
浅谈Python 参数与变量
2020/06/20 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
软件设计的目标是什么
2016/12/04 面试题
现场施工员岗位职责
2014/03/10 职场文书
技术比武方案
2014/05/19 职场文书
校优秀毕业生主要事迹
2014/05/26 职场文书
物资采购方案
2014/06/12 职场文书
地道战观后感2000字
2015/06/04 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
redis复制有可能碰到的问题汇总
2022/04/03 Redis