详解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实现文字向右循环闪过效果实例(可用于移动端)
Jun 15 HTML / CSS
CSS3实现的文本3D效果附图
Sep 03 HTML / CSS
css sprite简单实例
May 23 HTML / CSS
利用CSS3实现折角效果实例源码
Sep 28 HTML / CSS
HTML5+CSS3 诱人的实例:3D立方体旋转动画实例
Dec 30 HTML / CSS
网页中的电话号码如何实现一键直呼效果_附示例
Mar 15 HTML / CSS
HTML5 canvas实现雪花飘落特效
Mar 08 HTML / CSS
详解HTML5中垂直上下居中的解决方案
Dec 20 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
Sep 01 HTML / CSS
html5中 media(播放器)的api使用指南
Dec 26 HTML / CSS
Html5适配iphoneX刘海屏的简单实现
Apr 09 HTML / CSS
CSS 左边固定宽右边自适应的6种方法
May 15 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-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
PHP return语句的另一个作用
2014/07/30 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
php实现的简单中文验证码功能示例
2017/01/03 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
基于JavaScript实现树形下拉框
2016/08/10 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
2018/01/03 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
python的三目运算符和not in运算符使用示例
2014/03/03 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
更新修改后的Python模块方法
2019/03/03 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Python中变量的输入输出实例代码详解
2019/07/28 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
2020/03/24 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
打架检讨书300字
2014/02/02 职场文书
委托书范文
2014/04/02 职场文书
个人租房协议书
2014/04/09 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
后天观后感
2015/06/08 职场文书
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android