web app

---【native app】是安卓和ios 的app       安卓=java  ios=oc  (在应用里下载)

---【混合app】   一个项目既有安卓的页面 也有web app的页面  (部署文件在服务器上)

--【web app rem适配方案一】

      (function(){              没有破坏完美视口,转换需要配合less

    var styleNode = document.createElement("style");

    var  w = document.documentElement.clientdwidth/16;

    styleNode.innerHTML = "html{font-size:"+w+"px!important}"

    document.head.appendChild(styleNode);

  } )()

---【web app viewport 适配方案二】:

     =每一个元素在不通过设备上占据的CSS像素的个数是一样的,但CSS像素和物理像素比例是不一样的,等比例

       =所量即所得,没有使用完美视口

    (function(){

      var targetW = 640;

      var scale = document.documentElement.clientwidth/targetW;

      var meta = document.querySelector("meta[name='viewport']");

      meta.content = "initlal-scale="+scale+",minimum-scale="+scale+",maximum-scale="+scale+",user-scalable=no";

     })()

---【一物理像素】:方案一

    window.onload=function(){

      (function(){           

    --- var dpr = window.devicePixelRatio || 1 ;

    var styleNode = document.createElement("style");

    var  w = document.documentElement.clientdwidth/16;

    styleNode.innerHTML = "html{font-size:"+w+"px!important}"

    document.head.appendChild(styleNode);

    --- var scale = 1/dpr;

    --- var meta = document.querySelector("meta[name='viewpport']");

    --- meta.content = "width=device-width,initial-scale="+scale;

  } )()

  ]

---【一物理像素方案二】:

    #div{ height:1px;widht:100}

    @media only screen and (-webkit-device-pixel-ratio:3){

    #div{   transform:scaleY(.5)     };

    }

    @media only screen and (-webkit-device-pixel-ratio:2 ){

    #div{   transform:scaleY(.33333333333333)     };

    }

---【ie6的兼容问题】:

  1,最小高度是19px  解决在body style=""font-size:0"     

  2,  解决之后的极限高度是2px,

---【移动端的事件】:

  1,touchstart      手指按上

  2,touchmove     手指滑动

  3,touchend        手指离开

---【阻止默认事件】: even.preventDefalut()

---【草料二维码】  网址生成二维码

---【阻止移动页面所有默认事件】:

  window.onload = function(){ 

  document.addEventListener("tocuchstart",function(ev){

  ev = ev||enent;

  ev.preventDefault();

  })

   }

---1,pc端的事件可以在移动端触发

  2,pc端事件有300毫秒延迟

  3,移动端事件不会有延迟

---【移动端阻止所有默认事件后的a标签跳转  以及解决手指滑过 造成误触跳转】:

  var aNodes = document.querySelectorAll("a") 拿到所有a标签

  for(var i = 0.i<aNodes.length,i++){                   循环a标签,使用location。href 来跳转

    aNodes[i].addEventListener("tochstart",function(){

      this.isMoves = false;

          })

    aNodes[i].addEventListener("tochmove",function(){

      this.isMoved = true;

          })

    aNodes[i].addEventListener("tochend",function(){

      if(this.inMoved){ locatioon.href = this.href };

          })

  }

---【介绍几个web app 的移动框架】

  1,http://www.easybui.com/         

  2,

  

原文地址:https://www.cnblogs.com/zzhqdkf/p/12499184.html