注意:Chrome模拟手机的显示的界面是有误差的,强烈建议一定要在真机测试自己的移动端页面(以移动端页面为准)。

Android组件:WebView兼容问题

WebView存在跨域问题,需要在WebView配置。

1.页面高度渲染错误,页面的高度是否包含了导航,(华为手机就是偏偏有底部菜单)

设置窗口高度document.documentElement.style.height = window.innerHeight + 'px';

2.移动端背景图缩放固定。

采用fixed布局,zoom属性为1。

3.文本行高偏上不对齐。

设置line-height设置成normal。不要写死行高值。

4.文件上传无法唤醒文件。

部分手机无法兼容input file中accept等属性。移除即可。

5.移动端webview页面后退方法不生效。

window.history.pushState('forward', null, '#');
window.history.forward(1);
window.onpopstate = function(event) {
console.log(‘goBack’);
};

PS: 适用于所有移动端上webview(微信,APP内嵌浏览器)。

IOS组件:WKWebView和UIWebView兼容问题

WKWebView不支持跨域,UIWebViw支持跨域。

PS:IOS会限制自定义请求头,建议采用cookie字段请求携带token或者后端设置Access-Control-Allow-Headers:'自定义请求头字段'。

1.:active伪类不生效

阻止touchstart默认事件。(如果没有什么手势事件的需求的话,最好全部禁止手势事件)

2.input=“search”无法触发输入法。

需要<form>标签包起来才能触发。

3.禁用长按事件。

*{
-webkit-touch-callout:none;
-webkit-user-select:none;
-khtml-user-select:none;
-moz-user-select:none;
-ms-user-select:none;
user-select:none;
} //解决ios Input标签无法输入问题
input {
-webkit-user-select:auto; //webkit浏览器
}

4.webview回弹效果。

如果页面是全屏,不超过可视高度的话,建议禁用touchmove事件。

如果页面不是全屏,超过可视高度的话,就不要禁用touchmove事件。

PS:虽然有办法阻挡X5内核(QQ浏览器内核)的“网页有XXX提供”的这些信息,但是并没有真正阻挡iphone的回弹效果,拖拽还是会回弹。

5.ios回退不刷新

var isPageHide = false
window.addEventListener("pageshow", function() {
if (isPageHide) {
window.location.reload()
}
})
window.addEventListener("pagehide", function() {
isPageHide = true
})

6.移动兼容性测试。

使用ie浏览器来测试兼容语法。(vconsole这个测试工具检测不出来,555)

PS:IE11浏览器的开发者工具可以排查出不兼容的es6语法,只要IE11能运行,android4.x或者ios9以上的浏览器都可以运行。

移动web前端开发小结的更多相关文章

  1. web前端开发小结

    1.浏览器内核 IE-----Trident Edge-----EdgeHTML Firefox-----Gecko Safari-----Webkit Chrome-----Blink(Webkit ...

  2. 小白入门Web前端开发学习一周小结

    说之前还是先说点其他的,简单介绍下自己为何选择web前端开发: 本人之前在一家国企单位从事质检工作,干了3年,工资和待遇还算不错,但由于其工作的流动性导致知识的脱轨以及精神上的空缺,最后还是打算在25 ...

  3. web前端开发最佳实践笔记

    一.文章开篇 由于最近也比较忙,一方面是忙着公司的事情,另外一方面也是忙着看书和学习,所以没有时间来和大家一起分享知识,现在好了,终于回归博客园的大家庭了,今天我打算来分享一下关于<web前端开 ...

  4. [读书笔记] Web 前端开发修炼之道

    原创地址:http://www.cnblogs.com/bnbqian/p/3735565.html 转载请注明出处 今天我们要读的书是Web 前端开发修炼之道 第1章 从网站重构说起 1.1 糟糕的 ...

  5. Web前端开发推荐阅读书籍、学习课程下载

    转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...

  6. 浅谈web前端开发

    我个人认为前端攻城狮其实就是编程技术人员,用一句话来形容“比UI设计懂技术,比技术人员更懂交互”,当然也有人说前端工程师是工程师中的设计师,是设计师中的工程师. 好了废话不多说了,下面进入正题吧!   ...

  7. Web前端开发工程师课程大纲

    PHP程序员雷雪松整理出来的一套独一无二的Web前端开发课程.本套Web前端开发课程专门为想励志成为优秀web前端工程师的学习者而总结归纳的,本套Web前端课程舍弃了一些不常用的即将废弃的HTML标签 ...

  8. Web前端开发工程师需要掌握哪些核心技能?

    Web前端开发所涉及的内容主要包括W3C标准中的结构.行为和表现,那么这三项中我们需要掌握的核心技能是什么呢? 1.开发语言 HTML发展历史有二十多年,历经多次版本更新,HTML5和CSS3的出现又 ...

  9. web前端开发分享-目录

    1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...

随机推荐

  1. 定时器new Timer().schedule()的使用

    Timer是一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行.实际上是个线程,定时调度所拥有的TimerTasks. TimerTask是一个抽象类,它的子类由 ...

  2. 安装percona工具包

    1.安装percona源 sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona- ...

  3. PHP重定向的三个方法

    js的重定向方法:location.href=目标 url(如 https:www.baidu.com); php的重定向方法: header("location: https:www.ba ...

  4. U盘小偷——C++实现U盘插入检测和文件扫描拷贝

    前几天女朋友说老师上课的PPT不共享,没法复习,想着写个U盘小偷拷贝PPT来着,后来觉得这样的行为这是不对的,万一不小心复制了老师的专利啥的,或者一些不可描述的东西,就闹大了. 虽然没有采取实际行动, ...

  5. linux 命令——32 gzip(转)

    减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅可以用 ...

  6. 日常-acm-排列

    用1-9组成三个数abc,def,ghi,每个数字恰好出现一次,要求abc:def:ghi=1:2:3.按照“abc def ghi”输出所有解,每行一个解. #include <iostrea ...

  7. python_59_装饰器2

    #匿名函数,无函数名 calc=lambda x:x*3 print(calc(3)) sum=lambda x,y,z:x+y+z print(sum(1,2,3)) ''' 高阶函数 a:把一个函 ...

  8. Java MD5加密算法工具类

    MD5.java package util; import java.security.MessageDigest; import java.security.NoSuchAlgorithmExcep ...

  9. json文件的读取

    在客户端读取后台的json文件,使用jquery的$.getJSON,读取后台文件内容. jQuery中的$.getJSON( )方法函数主要用来从服务器加载json编码的数据,它使用的是GET HT ...

  10. Java 性能优化的五大技巧

    要对你的 Java 代码进行优化,需要理解 Java 不同要素之间的相互作用,以及它是如何与其运行时的操作系统进行交互的.使用下面这五个技巧和资源,开始学习如何分析和优化你的代码吧. 在我们开始之前, ...