首页 > 代码库 > 移动端常用知识点

移动端常用知识点

对移动端的开发也不是非常了解,只是做过一些手机端项目,小编今天在这里整理一些常用的移 动开发知识点,有兴趣的朋友也可以了解一下,当然,如果有所补充,也可发email给小编哦~ ~~

1、viewport :所谓viewport,即除去所有工具栏、状态栏、滚动条等之后用于查看网页的区域,假设现在有一张报纸摆在你面前,但是这张报纸被一本书压住了,所以你只能看到报纸的一部分,这部分的可视区域就是指viewport;

1
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no" />


width = device-width : 设置将宽度设置为设备显示宽度;
initial-scale : 初始的缩放比例 (范围从 0 到10);
maximum-scale : 允许用户缩放到的最大比例;
minimum-scale : 允许用户缩放到的最小比例;
user-scalabl : 用户是否可以手动缩放;

2、在HTML代码中,我们一般通过<meta>进行控制
编码(这个大家应该不陌生):

1
<meta charset="utf-8" />


屏蔽iPhone下的拨号链接:

1
<meta name="format-detection" content="telephone=no">


隐藏safari导航栏以及工具栏,全屏显示网页:

1
<meta name=”apple-mobile-web-app-capable” content=”yes” />



3、如果你想在屏幕旋转时禁止设备自动调整大小:

1
-webkit-text-size-adjust:none;

 

4、<a href="http://www.mamicode.com/sms:10010" class="message"></a>  //调取手机短信
<a href="http://www.mamicode.com/tel:10010" class="call"></a> //调取电话

 

5、侦测设备旋转方向
iPhone可以在横屏状态下浏览网页,有时候你会想知道用户设备的手持状态来增强可用性和功能。下面一段Javascript可以判断出设备向哪个方向旋转,并且替换css:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
window.onload = function initialLoad() {updateOrientation();}    
function updateOrientation(){
    var contentType = "show_";
    switch(window.orientation){
        case   0: contentType += "normal";
                  break;   
        case -90: contentType += "right";
                  break;
        case  90:  contentType += "left";
                  break;
        case 180: contentType += "flipped";
                  break;
    }
    document.getElementById("page_wrapper").setAttribute("class", contentType);
 
    }

6、默认隐藏工具栏
iPhone的浏览器工具栏会在页面最顶端,卷动网页后才隐藏。这样在加载网页完成后显得很浪费空间,特别是横向屏幕时。我们可以让它自动卷动上去,代码如下:

1
2
3
window.addEventListener(‘load‘,function(){
   setTimeout(scrollTo,0,0,1);
},false);

7、触摸事件
当用户手指放在屏幕上面时,在屏幕上滑动时或从屏幕上移开时会触发一些相关事件,这类事件称之为触摸事件,有以下几个:
touchstart  : 当手指触摸屏幕时触发,即使已经有一个手指放在了屏幕上也会触发
touchmove : 当手指在屏幕上滑动时连续的触发
touchend : 当手指从屏幕上移开时触发
touchcance : 当系统停止跟踪触发是触发,关于此类事件的确切触发时间,文档中没有明确说明

上面这几个事件都会冒泡,也都可以取消,每个触摸事件的event对象都提供了在鼠标事件中常见的属性:
bubbles,cancelable,view,clientX,clientY,screenX,screenY,detail,altKey,ctrlKey,shiftKey,metaKey

除了常见的DOM属性外,触摸时间还包含下列3个用于跟踪触摸属性:
touches : 表示当前跟踪的触摸操作的Touch对象的数组
targetTouches : 特定与事件目标的Touch对象的数组
changeTouches : 表示自上次触摸以来发生了什么改变的Touch对象的数组

每个触摸对象包含下列属性:
clientX : 触摸目标在可视区中的X坐标
clientY : 触摸目标在可视区中的Y坐标
pageX :  触摸目标在页面中的X坐标
pageY :  触摸目标在页面中的Y坐标
screenX : 触摸目标在屏幕中的X坐标
screenY : 触摸目标在屏幕中的 Y坐标
target : 触摸的DOM节点目标 identifier : 标识触摸唯一ID