1,

问题:ios手机输入框获得焦点,软键盘弹出,当其消失后,ios页面底部会被弹出来一大片

空白

此时,页面整个卡住,点击其他功能不生效。

而且输入框离底部越近,ios页面底部被弹出来的空白区域越大,不仅样式上别扭,而且页面功

能无法正常运行

解决方法:

目前试过来最佳方法是输入框获取焦点时,给页面最外层盒子一个margin-bottom值500px左

右,失去焦点后再还原

代码:

//判断是否时苹果手机
var str = navigator.userAgent.toLowerCase();
var ver = str.match(/cpu iphone os (.*?) like mac os/);
//是苹果手机
if(ver) {//获取焦点,软键盘弹出        $('input').focus(function() {//设定一个较大的值,input距离底部越近,值要设置的越大,一般500px到800px左右足够了           $('.main').css('margin-bottom','500px');          })  //失去焦点      $('input').blur(function() {//还原为初始值              $('.main').css('margin-bottom','0');          })
}复制代码

2,

问题:将输入框作为按钮元素的情况下,点击时弹出弹窗,此时并不需要其手动输入功能

方式:给输入框标签添加readonly属性,在大部分ios手机上点击输入框后都不会出现焦点,但

是点击iphone7手机上的输入框依然会有焦点存在,并且神奇的是,弹窗出现后焦点会在弹窗

上出现

解决:可以将readonly改为disabled属性,此时需要添加一个父级元素作为按钮,不然会点击

无效,并且注意修改输入框背景颜色和字体颜色

//修改placeholder的显示
input[disabled]::-webkit-input-placeholder {-webkit-text-fill-color: #999;
}
//修改value值的显示
input[disabled]{background-color:transparent;-webkit-text-fill-color: #999;
}
复制代码

3,

问题:页面弹出弹窗,若无特殊设置的情况下页面依然可以滑动,弹窗上若有输入框存在,在

iphone7手机上点击弹窗上的输入框后,此时弹窗上的焦点会不稳定,到处乱跑

解决:弹窗出现时,将页面固定住,不让滑动;

 禁止页面滚动方法(同时适用于安卓和ios手机):

//页面滚动与不能滚动
function onHandler(event) {event.preventDefault();
}
//不让页面滚动
function noScroll() {$('html,body').css({'overflow':'hidden','height':'100%'});document.addEventListener('touchmove',onHandler,false);
}
//恢复滚动
function getScroll() {$('html,body').css('overflow','inherit');document.removeEventListener('touchmove',onHandler,false);
}复制代码

转载于:https://juejin.im/post/5cc806f0e51d456e80351739

前端开发微信公众号在ios中常遇见的问题和解决方法相关推荐

  1. 前端开发微信公众号本地调试

    nginx实现本地调试微信公众号线上配置域名 前言 步骤 一. nginx安装 二. 修改本地host文件 三. 配置nginx 四. 修改vue项目配置 五. 修改微信公众号授权打开的链接地址路径 ...

  2. 前端对接微信公众号网页开发流程,前期配置

    微信公众号网页开发,其实就是我们开发的h5网页需要放到微信浏览器环境中使用,但是需要对接公众号授权,授权之后可以获取到用户的个人信息,以及可以使用公众号提供的一些API,如:图片上传.图片预览.获取位 ...

  3. 前端对接微信公众号网页开发流程,授权对接

    前面讲到 前端对接微信公众号网页开发流程,前期配置,本篇文章主要详细介绍关于公众号的授权对接. 一.引入微信js-sdk 在需要调用 JS 接口的页面引入如下 JS 文件 http://res.wx. ...

  4. 前端对接微信公众号网页开发流程,JSSDK使用

    前面两篇文章讲解了前端对接微信公众号网页开发流程,前期配置 和 前端对接微信公众号网页开发流程,授权对接,本篇文章讲解关于微信JSSDK的使用,官方文档地址 一.通过 config 接口注入权限验证配 ...

  5. 教你如何用node.js开发微信公众号(一)

    内容简介 本文章简单介绍了如何用node.js开发微信公众号.主要内容包括微信公众平台的配置,signature的验证,以及用node.js去处理用户主动发起的行为. 准备工作 开发前需要安装好nod ...

  6. vue开发微信公众号订阅消息踩坑记录

    今天做了一个微信公众号的网页开发, 使用的是vue做的开发,没错,就是微信公众号的开发,这都2021年了, 还有人有开发微信公众号的需求,我也是晕了, 微信公众号是我开发中感觉,最难调试的开发工作,没 ...

  7. vue开发微信公众号之文件下载

    开发微信公众号实现文件下载的时候问题就出现了,一般网站做法就用不了,因为微信内置浏览器不支持下载文件,这就需要你用外部浏览器了(一般都是用手机自带的浏览器). 这边你需要新建一个中转页面,提醒用户要通 ...

  8. ❤️十分钟快速学会使用Nodejs全栈开发微信公众号【建议收藏】

    一.准备 注册微信订阅号 注册小程序测试号 sunny-ngrok工具安装及注册账号 注意:sunny-ngrok的原型是ngrok,不过ngrok是国外的,sunny-ngrok是国内的一个私服,速 ...

  9. 手把手教你如何使用NodeJs和JavaScript开发微信公众号

    大家作为前端可能活多或少的都写过结合微信jsdk开发的微信h5网页,对授权登录这块以及部分sdk可能都有通过后台接口来调用,那么大家有没有想过,这些后台接口都是怎么写的呢?那么今天这篇文章就带大家来了 ...

最新文章

  1. C语言 #ifndef 引起的redefinition of xxx 问题解决
  2. mysql字符串外键约束_MySQL中的约束函数主外键
  3. 0基础学python-零基础如何开始学习 Python?看完这篇从小白变大牛!
  4. GridView中的RadioButton列之间不能互斥
  5. canvas画布属性globalAlpha 和 createRadialGradient函数出现的设置问题
  6. [导入].Net2.0 使用ConfigurationManager读写配置文件
  7. 设计模式之_动态代理_05
  8. SAP UI5 Resource bundle getText的实现逻辑
  9. Windows句柄-2
  10. AI应用开发基础傻瓜书系列3-激活函数和损失函数
  11. 不连续字符的串计数(洛谷P4439题题解,Java语言描述)
  12. docker php镜像推荐,Docker 常用镜像整理
  13. C#生成CHM文件(应用篇)之代码库编辑器(1)
  14. 一文带你看透手机号码归属地
  15. VoLTE前台信令详析及注释说明
  16. 初级Java程序员如何向Java架构师进阶?这里有6个建议
  17. java里this.a=a,JAVA基础-关键字之this
  18. 计算机管理格式化硬盘,教你电脑怎么格式化硬盘
  19. greenplum segment恢复的过程
  20. 玩转python网络爬虫 黄永祥_玩转Python网络爬虫

热门文章

  1. OpenVZ 简单应用
  2. 网店版重生系列:回头看Jboss配置项CatchSystemOut、Java2ClassLoadingCompliance、UseJBossWebLoader
  3. 东财《人际沟通与交往艺术》综合作业
  4. 微信web开发者工具无法打开网络连接失败,网上的办法都无法解决的小伙伴可以用我这个办法
  5. 电脑外接硬盘,磁盘管理处显示动态磁盘,无效,解决办法
  6. 等保测评之安全区域边界
  7. Testing和Instrumentation
  8. AtCoder Grand Contest 004 A - Divide a Cuboid 题解
  9. 浅谈scanf和scanf_s的区别,以及应对VS返回值被忽略的报错问题。
  10. js中字符串和数组互相转换