1.   -webkit-tap-highlight-color


-webkit-tap-highlight-color:rgba(255,255,255,0);

用来把android上点击网页时出现的橙色框的设置为透明

2.  抓取手指坐标

通常在touchstart或者touchmove事件发生的时候,我们这样取值   e.touches[0].pageX 、e.touches[0].pageY

但是在touchend事件发生的时候取值,要这样  e.changedTouches[0].pageX  、e.changedTouches[0].pageY;

他们之间虽然差别很小,但是就这一点会有很多问题噢。

3.  使用touchend等事件,点击mask(遮罩层)会点穿到下面

这个是我前阵子做一个功能时候遇见问题折腾了许久,陷在里面大bug!!!!!

具体情况如标题所说,在手机上使用手机事件,在遮罩层上点击的话,会点击到下面的标签上,如果是a标签的话,会跳转等。

所以如果非要用手机事件的话,可以类似这样写。

document.body.addEventListener('touchstart', function(e) {

if (e.target.className === 'mask') {  //如果点上的是遮罩层的话,执行遮罩层消失的动作,然后在全局(注意是全局,因为绑在了body上),阻止默认事件。

isClose();

e.preventDefault();

}

}, false);

可悲的是,我遇见一个更恶心的,这样做了以后竟然不起效!!!!

折腾很久后发现,下面的是个iframe标签,穿透点击它,会打开一个对话框。

好吧,只能隐藏了(在它上面再放一个iframe也不行的)。解决了,舒心了

4.  手机上对body或者document.documentElement绑定click事件,无效

如果是点在一个遮罩层(mask)上,没内容。你会发现,你怎么点都不起任何效应,直接无视。但是你对一个个标签绑定事件以后,给mask的事件就只写个绑定的,然后不做任何实际的事,就写个console.log('aa');,你就会发现特么又能用了。

此外,对待此类问题的最好办法,是用上面的touch事件,结合preventDefault()来用,因为我讨厌hack。

5.  默认隐藏掉地址栏


window.scrollTo(0,1)这样触发滚动一个像素 就可以隐藏地址栏了

addEventListener('load', function () {

var hideUrlBar = function () {

window.scrollTo(0, 1);

};

setTimeout(hideUrlBar, 0);

}, false);

6.  避免忘记的属性值

window.innerHeight  指的是荧幕当前实际能显示的高度

window.pageYOffset  类似scrollTop的效果

7.  android上面input的bug

在android上,当输入的元素被点击,唤起键盘后,会发现有一个假的输入元素在周围,飘着,很影响。

有一个比较可行的办法是

如果你这个元素id为user的话,那么那个元素的id名会是这样     #fake-user  ,多了一个fake-

这样你在css对这个元素设置一些样式,看起来和你那个元素比较一致就不影响美观了

8.  flash在android上面超级牛逼,盖住一切东西

嘗試過的辦法:

1.普通修改wmode屬性值的辦法

2.把flash這個元素放到iframe裏面,調整自身或者遮住的物件的index值

3.把flash這個元素放到iframe裏面,并再插入一個iframe,讓其絕對定位,蓋到flash上面,調整index值

4.把被遮物件放入iframe中,調整index

好吧,如果你有什么高招,求介绍!!!!

据说在原生2.3上是不带flash的(但是能安装)

9.  如何针对手机横屏竖屏写样式?

这样是针对iphone竖屏的时候,最大宽度为320px的样式

@media screen and (max-width: 320px)

{
    h1 span:nth-child(1) { display: inline; }

}

这个是针对iphone横屏的时候,最小宽度为321px的样式

@media screen and (min-width: 321px)

{
    h1 span:nth-child(2) { display: inline; }

}

详细介绍:移步http://www.thecssninja.com/css/iphone-orientation-css

10.  pointer-events

pointer-events主要有auto和none两个值。主要用来使想点击的具有点击的功能,不想点击的使它无效(也就是下面文章所说点击范围最大化)。

http://www.qianduan.net/css3-pointer-event-description.html

11.  防止拨号,防止发邮件

一般来说,手机浏览器上点击一串数字时候,会识别为手机号码,拨出去,避免这种麻烦,添加这个meta标签即可,,避免发邮件也类似

12.  关闭input自动首字母大写

input元素新增了autocapitalize这个属性,通过指定autocapitalize='off'可以关闭键盘默认首字母大写。

13. 利用window的history对象,模拟返回前一个页面

window.history.go(-1);window.history.back();

群里经验总结:

1.移动web开发需要多少版本?

在国内做移动web的话,一般需要做几套输出 wap(诺基亚机器) ,ucweb 7.9以下(no js), android的个别特效开发,apple的i系列的丰富应用

2.手机不支持的css属性

position:fixed;  (需要用js来模拟)

据其他人测试说: iTouch iPhone iPad Android 2.2  2.3都不支持overflow:scroll;  IOS5支持这个属性了。




 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

mobile web 手机开发的更多相关文章

  1. Web程序员开发App系列 - 调试Android和IOS手机代码(补图)

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  2. Web程序员开发App系列 - 认识HBuilder

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  3. 《工作笔记:移动web页面前端开发总结》

    工作笔记:移动web页面前端开发总结 移动web在当今的发展速度是一日千里,作为移动领域的门外汉,在这段时间的接触后,发现前端开发这一块做一个小小的总结. 1.四大浏览器内核 1.Trident (I ...

  4. 十个最适合 Web 和 APP 开发的 NodeJS 框架

    在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之一.全球各地的开发者张开双臂拥抱 NodeJS. 对于新手来 ...

  5. 10 个最适合 Web 和 APP 开发的 NodeJS 框架

    在浏览器以外运行 JavaScript 对于 JavaScript 爱好者来说非常神奇,同时也肯定是 web 应用程序开发界最受欢迎的进步之一.全球各地的开发者张开双臂拥抱 NodeJS. 对于新手来 ...

  6. Web程序员开发App系列 - 开发我的第一个App,源码下载

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  7. Web程序员开发App系列 - 申请苹果开发者账号

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  8. Web和移动开发的未来

    Web和移动开发的未来 当我们与来自整个IT行业的专家交谈时,他们告诉我们技术,PWA和优化的持续整合是关键. 为了收集有关网络和移动开发当前和未来状况的见解,我们与19位IT主管进行了交流,我们问道 ...

  9. python的高性能web应用的开发与测试实验

    python的高性能web应用的开发与测试实验 tornado“同步和异步”网络IO模型实验 引言 python语言一直以开发效率高著称,被广泛地应用于自动化领域: 测试自动化 运维自动化 构建发布自 ...

随机推荐

  1. 20151211--EL表达式语言

  2. Java Tomcat Glassfish Weblogic远程debug(remote debug)

    tomcat ./catalina.sh jpda start 这条命令启动tomcat,它就会监听8000端口,等待调试器的连接. 默认监听8000端口,通过设置环境变量JPDA_ADDRESS指定 ...

  3. 解读机器学习基础概念:VC维的来龙去脉 | 数盟

    http://dataunion.org/14581.html

  4. 从C++对象内存布局和构造过程来具体分析C++中的封装、继承、多态

    一.封装模型的内存布局 常见类对象的成员可能包含以下元素: 内建类型.指针.引用.组合对象.虚函数. 另一个角度的分类: 数据成员:静态.非静态 成员函数:静态.非静态.虚函数 1.仅包含内建类型的场 ...

  5. avalon.js实践 svg地图配置工具

    MVVM模式,在很多复杂交互逻辑下面,有很大的优势.现在相关的框架也很多,现在项目中使用了avalon.js,选择它的原因,是兼容性的考虑,当然也要支持下国内开发大牛,至于性能方面的,没有实际测试过, ...

  6. nginx-configure执行大致流程

    1,configure 命令行参数处理 2,初始化各种文件路径 3,分析源码结构 4,生成编译过程中所需路径 5,准备 .h,.err等编译所需文件 6,写入命令行参数 7,检测环境(系统,编译器,第 ...

  7. Core开发-MVC 使用dotnet 命令创建Controller和View

    NET Core开发-MVC 使用dotnet 命令创建Controller和View   使用dotnet 命令在ASP.NET Core MVC 中创建Controller和View,之前讲解过使 ...

  8. win7系统还原教程

    当我们的win7系统出现故障了导致系统不能稳定运行而我们没有更好的解决办法时,我们一般的方式是对系统进行还原或重新安装win7系统了,本文主要讨论win7系统还原,抛开第三方软件不说,win7系统自带 ...

  9. (11)Xamarin.iOS - 新增iPhone storyboard

    原文 Xamarin.iOS - 新增iPhone storyboard 1. 开启Xamarin Studio 并建立新项目 专案类型为 iOS=>iPhone Storyboard => ...

  10. Flash,EEPROM差别

    flash是用来存储代码的,在执行过程中不能改:EEPROM是用来保存用户数据,执行过程中能够改变,比方一个时钟的闹铃时间初始化设定为12:00,后来在执行中改为6:00,这是保存在EEPROM里,不 ...