js判断移动端还是PC端

function isMobile(){
   var sUserAgent= navigator.userAgent.toLowerCase(),
   bIsIpad= sUserAgent.match(/ipad/i) == "ipad",
   bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os",
   bIsMidp= sUserAgent.match(/midp/i) == "midp",
   bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4",
   bIsUc= sUserAgent.match(/ucweb/i) == "ucweb",
   bIsAndroid= sUserAgent.match(/android/i) == "android",
   bIsCE= sUserAgent.match(/windows ce/i) == "windows ce",
   bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile",
   bIsWebview = sUserAgent.match(/webview/i) == "webview";
   return (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM);
}

运行当页面的时候,执行到js会判断来自于移动端还是pc端,如果是移动端则跳转制定链接地址,,这样在手机端会有额外的不必要浪费的加载时间

var browser={  
    versions:function(){   
     var u = navigator.userAgent, app = navigator.appVersion;   
     return {//移动终端浏览器版本信息   
       trident: u.indexOf('Trident') > -1, //IE内核  
       presto: u.indexOf('Presto') > -1, //opera内核  
       webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核  
       gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核  
       mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端  
       ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端  
       android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器  
       iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器  
       iPad: u.indexOf('iPad') > -1, //是否iPad    
       webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部  
      };  
      }(),  
      language:(navigator.browserLanguage || navigator.language).toLowerCase()  
}   
  
  if(browser.versions.mobile || browser.versions.ios || browser.versions.android ||   
    browser.versions.iPhone || browser.versions.iPad){       
     window.location = "http://m.baidu.com";     
  }

 

posted @ 2015-03-31 16:19  午时的海  阅读(811)  评论(0编辑  收藏  举报