详解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+DIV实现漂亮的动画彩色标签
Jun 16 HTML / CSS
详解CSS3中Media Queries的相关使用
Jul 17 HTML / CSS
利用css3-animation实现逐帧动画效果
Mar 10 HTML / CSS
纯CSS3大转盘抽奖示例代码(响应式、可配置)
Jan 13 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 HTML / CSS
CSS3颜色值RGBA与渐变色使用介绍
Mar 06 HTML / CSS
网易微博Web App用HTML5开发的过程介绍
Jun 13 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
Apr 23 HTML / CSS
canvas 阴影和图形变换的示例代码
Jan 02 HTML / CSS
html5 canvas实现给图片添加平铺水印
Aug 20 HTML / CSS
html5移动端禁止长按图片保存的实现
Apr 20 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下对数组进行排序的函数
2010/08/08 PHP
PHP实现把数字ID转字母ID
2013/08/12 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
filemanage功能中用到的common.js
2007/04/08 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
浅析JavaScript动画模拟拖拽原理
2016/12/09 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
微信小程序-form表单提交代码实例
2019/04/29 Javascript
vue使用swiper.js重叠轮播组建样式
2019/11/14 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
Python docx库用法示例分析
2019/02/16 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
python3中eval函数用法使用简介
2019/08/02 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
2019/08/13 Python
python线程里哪种模块比较适合
2020/08/02 Python
GAP欧盟网上商店:GAP EU
2016/09/13 全球购物
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
高一化学教学反思
2014/02/05 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
医药销售自荐书
2014/05/29 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
毕业实习证明范本
2015/06/16 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript