范畴css
移动端web浏览器。至少须要适配的,UC,QQ,各手机内置浏览器,chrome,safari。html
是否是以为和PC端差很少?错了!每款同一版本ios的内置浏览器同样。但每款同一版本android的不一样品牌手机内置浏览器有不少细节上的差异(每一个手机运营商称其为优化系统)。况且每款浏览器还有不一样版本。因此移动端web的坑远多于PC端。这是它有N多辅助库的缘由。jquery
优势是,它对CSS3,H5的支持远胜PC端(由于PC端的主力IE在拖后腿)android
解决方案ios
浅析css3
原生加载web
<script>标签罗列,放body结束标签前chrome
模块化加载浏览器
requireJS/seaJS. 前者为AMD.后者CMD.dom
其实二者差很少。都用来作依赖管理。你看顺眼就用哪一个吧。二者异同看这里。
注意,若是要打包,勿用别名。
路由
用途
不刷新改变URL;经过URL渲染对应内容。
window.addEventListener( "load", function() { FastClick.attach( document.body ); }, false );
hammer.js
手势事件。 缘由是原生 getsture事件 gesturestart、gesturemove、gestureend。 兼容问题很是严重。
var iScroll = new IScroll(dom, { scrollX: true,//使用横向滚动条 scrollY: false,//不使用纵向滚动条 click: false,//不容许点击 preventDefaultException: { tagName:/^(a|input)$/ }//让a input标签可点击 }); //在400ms内滚动到指定元素el 往左偏移10像素 iScroll.scrollToElement(el,400,10) //让滚动区域内容在指定的时间内滚动到x/y的位置 scrollTo(x, y, time, relative) iScroll.scrollTo(0,100,400); //100ms内向下滚动400px。若是relative设为true,则向上。
//屏幕小于500px时 enquire.register("screen and (max-width:750px)", [ //match匹配,unmatch不匹配 { match : function() { console.log("handler 1 matched"); } }, { match : function() { console.log("handler 2 matched"); } } ]);