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

最近在写嵌入到小程序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导致的

解决方案:滚动一下页面,请参考链接,代码有效。 https://blog.csdn.net/qq_23370345/article/details/84757505

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不需要被键盘顶起的设计,这些兼容性的解决方案,也不并不能完美的解决所有机型的问题。

作者:啦粑吧小魔仙
https://juejin.im/post/5c77b7dbe51d451d4763355d

推荐阅读

(点击标题可跳转阅读)

九种跨域方式实现原理

2019 前端面试题汇总(主要为 Vue)

觉得本文对你有帮助?请分享给更多人

关注「前端教程」,一起提升前端技能!

b037c2f08333816774908a92c46dba6e.png

1803f049ea6918c5b865a19b78692f7c.png点1个 “好看” 少n个bug

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 写一个左中右的满屏布局,左右固定220px,中间自适应并且要优先加载

[html] 写一个左中右的满屏布局&#xff0c;左右固定220px,中间自适应并且要优先加载 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initia…

C# 淘宝商品微信返利助手开发-(七)返利助手开发(5)如何将优惠券地址转为淘口令

系列教程一目录&#xff1a;返利助手原理 系列教程二目录&#xff1a;返利助手开放文档以及帐号申请地址 系列教程三目录&#xff1a;返利助手开发&#xff08;1&#xff09;API介绍 系列教程四目录&#xff1a;返利助手开发&#xff08;2&#xff09;淘宝分享的内容如何只取…

什么是活动策划5表

昨晚&#xff0c;看了《非你莫属》&#xff0c;黄欢提到活动策划的五表。我以前也没听说过&#xff0c;不过现场她也没说清楚&#xff0c;今在网上查了一下&#xff0c;从一个博客中搬过来&#xff0c;权作一个指导工作的一个知识点吧。 活动流程表&#xff1b; 任务分工表&…

ftp改为sftp_科普!一文详解 FTP、FTPS 与 SFTP 的原理

FTP、FTPS 与 SFTP 简介FTPFTP 即 文件传输协议&#xff08;英语&#xff1a;File Transfer Protocol 的缩写&#xff09;是一个用于计算机网络上在客户端和服务器之间进行文件传输的应用层协议。完整的 FTP 是由 FTP 服务器 和 FTP 客户端组成的&#xff0c;客户端可以将本地的…

动手学servlet(四) cookie和session

Cookie cookie是保存在客户端的一个“键值对”&#xff0c;用来存储用户的一些信息 cookie的应用&#xff1a; -在电子商务会话中标识用户 -对网站进行定制&#xff0c;比如你经常浏览哪些内容&#xff0c;就展示哪些页面给你 -网站广告&#xff0c;比如百度联盟&#xff0c;你…

[html] html标签中的lang属性有什么作用?

[html] html标签中的lang属性有什么作用&#xff1f; 根据lang属性来设定不同语言的css样式&#xff0c;或者字体告诉搜索引擎做精确的识别让语法检查程序做语言识别帮助翻译工具做识别帮助网页阅读程序做识别等等个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识…

【C++ 学习笔记】:STL-map

查找 map<int,int>map_test;map_test.insert(pair<int,int>(1,2));map_test.insert(pair<int,int>(1,3));map_test.insert(pair<int,int>(2,2));inta map_test[1];intb map_test[3];map<int,int>::iterator p map_test.find(4);if(p map_test.en…

[html] 说说base标签有什么作用?

[html] 说说base标签有什么作用&#xff1f; base标签为页面上的所有链接规定默认地址. 例如<head> <base href"http://h-camel.com/show/" /> </head>//略过其中结构<a href"2679.html">说说base标签有什么作用</a>个人简…

16进制 转为图片 php_Python 十六进制hex-bytes-str之间的转换和Bcc码的生成

前言近期做测试模拟器用到了hex-bytes-str之间的转换bcc码的校验&#xff0c;这里总结了一些方法。实例直接上代码转为十六进制&#xff08;Hex&#xff09;字符串def 执行代码&#xff1a;方法&#xff1a;getStringFromNumber(size,value)参数一为生成几个batys&#xff0c;参…

C# 淘宝商品微信返利助手开发-(四)返利助手开发(2)淘宝分享的内容如何只取淘口令

系列教程一目录&#xff1a;返利助手原理 系列教程二目录&#xff1a;返利助手开放文档以及帐号申请地址 系列教程三目录&#xff1a;返利助手开发&#xff08;1&#xff09;API介绍 系列教程四目录&#xff1a;返利助手开发&#xff08;2&#xff09;淘宝分享的内容如何只取…

[html] 在head标签中必不少的是什么?

[html] 在head标签中必不少的是什么&#xff1f; 根据w3c文档&#xff0c;title是head 部分中唯一必需的元素。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

推荐一个国外SaaS产品-Olark

Olark www.olark.com 是国外非常出名的一个在线客服工具。 现在国内很多人创业失败的原因是&#xff1a;什么都想自己做&#xff0c;不利用现有资源&#xff0c;结果造成做出来的东西什么都有&#xff0c;什么都不好用。 我们应该好好学习国外的小团队&#xff0c;他们只做一件…

python sftp_python中实现sftp

python中想要实现sftp的话可以使用paramiko模块 paramiko很强大&#xff0c;通过python实现SSH协议。可以做到ssh远程登录&#xff0c;sftp上传下载文件。 sftp的实现 1.通过密码口令认证#!/usr/bin/python # -*- coding:utf-8 -*- import paramiko remotedir "/app/ftpu…

C# 淘宝商品微信返利助手开发-(三)返利助手开发(1)API介绍

系列教程一目录&#xff1a;返利助手原理 系列教程二目录&#xff1a;返利助手开放文档以及帐号申请地址 系列教程三目录&#xff1a;返利助手开发&#xff08;1&#xff09;API介绍 系列教程四目录&#xff1a;返利助手开发&#xff08;2&#xff09;淘宝分享的内容如何只取…

python之基础学习day01

今天是python学习的第一天&#xff0c;收获还是不少的&#xff0c;使用的编辑器为python3.7。 第一天学习知识总结&#xff1a; 1、编写的第一句python语句&#xff1a; print ( " hello world" ) 2、python的两种执行方式 --python解释器 py文件路径 --python进入解…

[html] 什么是空元素?常用的空元素有哪些?

[html] 什么是空元素&#xff1f;常用的空元素有哪些&#xff1f; 一个空元素&#xff08;empty element&#xff09;可能是 HTML&#xff0c;SVG&#xff0c;或者 MathML 里的一个不能存在子节点&#xff08;例如内嵌的元素或者元素内的文本&#xff09;的element。HTML&…

【JQuery】初始化页面当异步加载时构建页面元素的顺序

今日帮同事看JQuery页面初始化的一个问题时&#xff0c;由于自己没怎么了解过JQuery&#xff0c;所以遇到了一点小麻烦&#xff0c;实现的效果就是初始化页面时&#xff0c;默认选中页面里某表格数据集的某行数据&#xff0c;这种问题&#xff0c;在Java\Delphi等语言里实现起来…

粗暴,干就完了----徐晓冬似的C语言自学笔记-----实现一个链表结构

1 #include <stdio.h>2 #include <stdlib.h>3 #define N 54 /*N 假定数组长度为5*/5 typedef struct snode6 {7 int data;8 struct snode *next; 9 } SNODE;10 11 /*第一步&#xff0c;添加链表头信息*/12 SNODE *createhead(int a[])13 {14 SNODE *h,…

C# 淘宝商品微信返利助手开发-(二)返利助手开放文档以及帐号申请地址

系列教程一目录&#xff1a;返利助手原理 系列教程二目录&#xff1a;返利助手开放文档以及帐号申请地址 系列教程三目录&#xff1a;返利助手开发&#xff08;1&#xff09;API介绍 系列教程四目录&#xff1a;返利助手开发&#xff08;2&#xff09;淘宝分享的内容如何只取…

[html] 说说你对H5的ServiceWorker的理解,它有什么运用场景?

[html] 说说你对H5的ServiceWorker的理解&#xff0c;它有什么运用场景&#xff1f; 一个服务器与浏览器之间的中间人角色&#xff0c;如果网站中注册了service worker 那么它可以拦截当前网站所有的请求&#xff0c;进行判断&#xff08;需要编写相应的判断程序&#xff09;&…