原理:原理有两个,第一:通过游览器(browser)判断是否是手机;第二:通过访问终端判断是否是手机(userAgent);但是通常考虑到兼容性,需要这两种原理同时使用;具体的实现如下:
JS实现:
1 2 function checkBrowser(){ 3 var browser={ 4 versions:function(){ 5 var u = navigator.userAgent, app = navigator.appVersion; 6 return { 7 //移动终端浏览器版本信息 8 trident: u.indexOf('Trident') > -1, //IE内核 9 presto: u.indexOf('Presto') > -1, //opera内核 10 webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 11 gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 12 mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端 13 ios: !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 14 android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器 15 iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器 16 iPad: u.indexOf('iPad') > -1, //是否iPad 17 webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 18 }; 19 }(), 20 language:(navigator.browserLanguage || navigator.language).toLowerCase() 21 } 22 if( browser.versions.android || browser.versions.iPhone || browser.versions.iPad){ 23 window.location.href="http://m.studyofnet.com" 24 25 } 26 } 27 28