ios系统web(微信公众号)开发遇到的问题及解决方案
1.1. 页面滚动不流畅(2017-09-25)
现象:
网页竖向滚动或横向滚动不流畅。
解决方案:
为滚动元素添加css样式:
-webkit-overflow-scrolling: touch;
- 1
详见MDN-webkit-overflow-scrolling
1.2. 横向滚动时会上下跳动(2017-10-10)
现象:
横向滚动区域,滑动时,会上下跳动。
解决方案:
为滚动元素添加css样式:
overflow-x: scroll;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
- 1
- 2
- 3
2. 点击页面的时候网页闪烁(高亮)(2017-09-25)
现象:
点击页面输入框的时候,网页上半部分闪一下(高亮),体验不好。
解决方案:
-webkit-tap-highlight-color: rgba(0,0,0,0);
- 1
3. position:absolute元素在页面上看不到了(或absolute元素展示偏右)(2017-09-25)
现象:
某元素设置position:absolute,其他浏览器显示正常,ios和Safari浏览器却看不到该元素(或该元素在页面上比较偏右)。
解决方案:
设置left:xxx;即可。
4. ios下,iframe页面中的position:fixed定位错误(2017-09-19)
现象:
iOS,iframe中的fixed定位的元素并没有显示在屏幕的固定位置,而是会随着页面的滑动而滑动。
解决方案:
对滚动部分设置高度。
详见该文章:ios下,iframe页面中的position:fixed定位布局错误
5.1. ios下,click有300ms的延迟,click事件无响应(2017-09-25)
现象:
iframe中的网页,点击事件经常无响应。
解决方案:
使用fastclick插件。
5.2. fastclick插件对输入框(contenteditable)不友善,光标无法移动(2017-09-25)
现象:
使用fastclick后,点击某行文本,可以编辑,但是光标停留在输入框最前面,无法移动光标位置。
解决方案:
为编辑元素添加needsclick样式类。
5.3. 添加fastclick插件后,编辑屏幕下半部分的文本,网页没有自动向上移动(2017-09-25)
现象:
正常情况下,点击下半部分的输入框,在ios系统中,网页会自动向上滑动,使输入框暴露在屏幕的上访,方便编辑,但是添加fastclick插件之后,网页经常不再向上移动了。
解决方案: 暂未解决,求大神解答。
为编辑元素及所有后代元素添加needsclick类。(2017-10-10)
5.4. fastclick对编辑不友善(2017-09-25)
现象:
1. contenteditable的子元素仍有div标签的情况下,光标经常不能自由移动。
2. 点击contenteditable的元素,页面经常上下震动。
3. 点击编辑屏幕下半部分的文本时,页面不能自动向上移动。
解决方案: 部分页面不再使用fastclick,改为使用贺师俊大神的Zhi库。
但仍未解决第三点的问题。
为编辑元素及所有后代元素添加needsclick类。(2017-10-10)
6. ios输入汉字时出现空格(2017-09-11)
现象:
iOS在输入汉语时,输入多个汉字,在拼音的中间出现了空格。导致正则表达式判断输入不合法,用户输入被迫中止。
解决方案:
使用\s判断空格,认为空格是合法的。
详见该文章ios输入汉字时出现空格
7. iOS输入汉字时,最后选择汉字并没有触发keyup(keydown)事件(2017-10-13)
现象:
input输入框监听用户输入,iOS用户在输入结束后,点击候选汉字时,没有触发keyup(keydown)事件,导致最后的输入无法处理。
解决方案:
使用input事件处理。input事件可以处理点击候选汉字的操作。
input的简单介绍MDN-oninput
致谢
联系我
如果您有更好的解决方案,或者
您有任何疑问或本文侵犯了您的著作权,请联系我。 mail to kylin
ios系统web(微信公众号)开发遇到的问题及解决方案的更多相关文章
- 微信公众号开发系统入门教程(公众号注册、开发环境搭建、access_token管理、Demo实现、natapp外网穿透)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/a1786223749/article/ ...
- 微信公众号开发之被逼学web服务端1-----使用SecureCRT连接Linux服务器
做Android的进新公司后安排做微信公众号开发,这基本是后台和前端的活都要由小白的我来做,这两天基本成鸭子了,被填的满满的,却还是不够,博文仅作记录,希望能给后来的小白一点参考吧 今天做的是如何配置 ...
- 利用OpenShift托管Node.js Web服务进行微信公众号开发
最近写了一个微信的翻译机器人.用户只要关注该公众号,发送英文的消息,就能收到中文翻译的回复.有兴趣的读者可以扫描下面的二维码关注该公众号,尝试发送英文单词试试看.(有时候第一次发送单词会收到“该公众号 ...
- 带领技术小白入门——基于java的微信公众号开发(包括服务器配置、java web项目搭建、tomcat手动发布web项目、微信开发所需的url和token验证)
微信公众号对于每个人来说都不陌生,但是许多人都不清楚是怎么开发的.身为技术小白的我,在闲暇之余研究了一下基于java的微信公众号开发.下面就是我的实现步骤,写的略显粗糙,希望大家多多提议! 一.申请服 ...
- C#微信公众号开发系列教程三(消息体签名及加解密)
http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
http://www.cnblogs.com/zskbll/p/4080328.html 目录 C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试 ...
- NET微信公众号开发-5.0微信支付(待测试)
开发前准备. 1.0微信支付官方开发者文档 2.0官方demo下载 我们用c#所以选择.net版本 不过这个官方的demo根本跑步起来 3.0官方demo运行起来解决方案 4.0微信支付官方.net版 ...
- .NET微信公众号开发-5.0微信支付
一.前言 在开始做这个功能之前,我们要做的第一件事情就是思考,如何做这个微信支付,从哪里开始,从哪里入手,官方的sdk说明什么的,有没有什么官方的demo,还有就是老板给我的一些资料齐全不,那些要申请 ...
- 微信公众号开发《三》微信JS-SDK之地理位置的获取,集成百度地图实现在线地图搜索
本次讲解微信开发第三篇:获取用户地址位置信息,是非常常用的功能,特别是服务行业公众号,尤为需要该功能,本次讲解的就是如何调用微信JS-SDK接口,获取用户位置信息,并结合百度地铁,实现在线地图搜索,与 ...
- 微信公众号开发C#系列-2、微信公众平台接入指南
概述 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先 ...
随机推荐
- 动态、指针field-symbols初探
DATA: BEGIN OF STRUC, COMP1 VALUE ', COMP2 VALUE ', COMP3 TYPE STRING VALUE 'bruce king', END OF STR ...
- [转载]@Component 和 @Bean 的区别
@Component 和 @Bean 的区别 @Component 和 @Bean 的区别 Spring帮助我们管理Bean分为两个部分,一个是注册Bean,一个装配Bean. 完成这两个动作有三种方 ...
- springCloud 之 Eureka注册中心高可用配置
springCloud的eureka高可用配置方案思路是:几个服务中心之间相互注册,比如两个注册中心,A注册到B上,B注册到A上,如果是三个注册中心则是:A注册到BC上,B注册到AC上,C注册到AB上 ...
- PAN3501兼容AS3933-BTST
PAN3501是一颗是15–150kHz频率范围.3通道低频唤醒接收器,3通道低频唤醒接收器,且具备自动天线调谐功能.另外还比AS3933基础功能上增加了多了几个寄存器,大大增加了给使用者的空间,灵活 ...
- jenkins#安装jenkins之后的操作
1.全局安全配置 运行用户注册 任何用户可以做任何事情 2.全局工具配置 指定maven的settings文件位置 指定java信息 指定maven信息 指定git信息
- Spring Boot-运行部署
Main方法 直接运行启动类main方法 遵循应用程序入口点的Java约定的标准方法.我们的main方法SpringApplication通过调用委托给Spring Boot的类run. Spring ...
- C语言循环
C 练习实例1 #include<stdio.h> int main() { int i,j,k; printf("\n"); //此处巧妙的利用循环次数和四个相等的关 ...
- ucosiii 移植
最近想在 f429 上面使用 mdk526 版本的 IDE,配合 HAL 和ucosiii.考虑到的方法是对比 v7 开发板的 ucosiii 和裸机程序,找出需要修改的地方,然后对比 v6 开发板的 ...
- sql 报错问题
SQLServer数据库密码已过期问题 处理
- C# Winform使用线程,委托定时更新界面UI控件,解决界面卡顿问题(转载)
一.定时执行主界面控件值 1.利用定时器 Thread t = null; private void InitTSJK() { t = new Thread(new ThreadStart(GetDa ...