通过js判断是否由app访问当前访问的是电脑还是手机

招聘:易居中国克而瑞技术中心招聘前端工程师,有意请投简历到
js常见的判断移动端或者pc端或者安卓和苹果浏览器的方法总结
15634次浏览
很久之前写了一篇,里面介绍了运用navigator判断浏览器类型。今天在这篇文章基础上做个补充吧!
js 判断安卓或者ios 之indexOf方式
//判断访问终端
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appV
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应该程序,没有头部与底部
weixin: u.indexOf('MicroMessenger') & -1, //是否微信 (新增)
qq: u.match(/\sQQ/i) == & qq& //是否QQ
language:(navigator.browserLanguage || navigator.language).toLowerCase()
使用方法:
//判断是否IE内核
if(browser.versions.trident){ alert(&is IE&); }
//判断是否webKit内核
if(browser.versions.webKit){ alert(&is webKit&); }
//判断是否移动端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert(&移动端&); }
js 判断安卓或者ios 之正则表达式方式
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
} else if (/(Android)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
相关文章:
关键词搜索&腾讯网的适配代码&如何判断访问网站的机器类型-如何判断ipad&JS 判断浏览器客户端类型(ipad,iphone,android)&&script type=&text/javascript&&&&!--&& & & & //平台、设备和操作系统&& & & & var system = {&& & & & & & win: false,&& & & & & & mac: false,&& & & & & & xll: false,&& & & & & & ipad:false&& & & & };&& & & & //检测平台&& & & & var p = navigator.&& & & & system.win = p.indexOf(&Win&) == 0;&& & & & system.mac = p.indexOf(&Mac&) == 0;&& & & & system.x11 = (p == &X11&) || (p.indexOf(&Linux&) == 0);&& & & & system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:&& & & & //跳转语句,如果是手机访问就自动跳转到wap.baidu.com页面&& & & & if (system.win || system.mac || system.xll||system.ipad) {&&& & & & } else {&&& & & & & & window.location.href = &http://www.jdpatro.com/3g/&;&& & & & }&--&&&/script&&&腾讯网的适配代码&&script type=&text/javascript&& &if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))){&& & if(window.location.href.indexOf(&?mobile&)&0){&& & & & try{&& & & & & & if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)){&& & & & & & & & window.location.href=&http://shipei.qq.com/index.htm&;&& & & & & & }else if(/iPad/i.test(navigator.userAgent)){&& & & & & & }else{&& & & & & & & & window.location.href=&http://shipei.qq.com/simple/s/index/&&& & & & & & }&& & & & }catch(e){}&& & }&}&&/script&&&script type=&text/javascript&&&& & var browser = {&& & & & versions : function() {&& & & & & & var u = navigator.userAgent, app = navigator.appV&& & & & & & 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.*/)&& & & & & & & & & & || !!u.match(/AppleWebKit/), //是否为移动终端 & & & & & & & & & & & & & & & & && & & & & & 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 || u.indexOf('Mac') & -1, //是否为iPhone或者QQHD浏览器 & & & & & & & & & &&& & & & & & iPad: u.indexOf('iPad') & -1, //是否iPad & & & && & & & & & webApp : u.indexOf('Safari') == -1,//是否web应该程序,没有头部与底部&& & & & & & google:u.indexOf('Chrome')&-1&& & & & };&& & }(),&& & language : (navigator.browserLanguage || navigator.language).toLowerCase()&& & }&& & document.writeln(&语言版本: &+browser.language);&& & document.writeln(& 是否为移动终端: &+browser.versions.mobile);&&/script&&&如何判断访问网站的机器类型-如何判断ipad&如何判断是否是 iPad 浏览器呢,关键是看它的 User Agent 中是否有 iPad。iPad 使用的是 Safari Mobile 浏览器,他的的 User Agent 是:Mozilla/5.0 (iP U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10&function is_iPad(){ & & & &&[object Object] [object Object] [object Object]var ua = navigator.userAgent.toLowerCase();&[object Object] [object Object] [object Object]if(ua.match(/iPad/i)==&ipad&) { & & & & & & & &&[object Object] [object Object] [object Object] [object Object] [object Object] [object Object]&[object Object] [object Object] [object Object]} else {&[object Object] [object Object] [object Object] [object Object] [object Object] [object Object]&[object Object] [object Object] [object Object]}}&&$is_iPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');&RewriteCond %{HTTP_USER_AGENT} ^.*iPad.*$RewriteRule ^(.*)$ http://ipad.fairyfish.net [R=301]&JS 判断浏览器客户端类型(ipad,iphone,android)&script type=&text/javascript&& && &var bForcepc&= fGetQuery(&dv&) == &pc&; &&& &function&fBrowserRedirect(){ &&& & & &var sUserAgent = navigator.userAgent.toLowerCase(); && & & &var bIsIpad = sUserAgent.match(/ipad/i) ==&&ipad&; & && & & &var bIsIphoneOs = sUserAgent.match(/iphone os/i) == &iphone os&; && & & &var bIsMidp = sUserAgent.match(/midp/i) == &midp&; && & & &var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == &rv:1.2.3.4&; && & & &var bIsUc = sUserAgent.match(/ucweb/i) == &ucweb&; && & & &var bIsAndroid = sUserAgent.match(/android/i) == &android&; && & & &var bIsCE = sUserAgent.match(/windows ce/i) == &windows ce&; && & & &var bIsWM = sUserAgent.match(/windows mobile/i) == &windows&mobile&; &&& & & &if(bIsIpad){ &&& & & & & &var sUrl =&location. & & && & & & & &if(!bForcepc){ &&& & & & & & & &window.location.href = &http://ipad.mail.163.com/&; && & & & & &} &&& & & &} &&& & & &if(bIsIphoneOs || bIsAndroid){ &&& & & & & &var sUrl =&location. & & && & & & & &if(!bForcepc){ &&& & & & & & & &window.location.href = &http://smart.mail.163.com/&; && & & & & &} &&& & & &} &&& & & &if(bIsMidp||bIsUc7||bIsUc||bIsCE||bIsWM){ &&& & & & & &var sUrl =&location. & & && & & & & &if(!bForcepc){ &&& & & & & & & &window.location.href = &http://m.mail.163.com/&; && & & & & &} &&& & & &} &&& &} && &function&fGetQuery(name){//获取参数值 &&& & & &var sUrl = window.location.search.substr(1); && & & &var r = sUrl.match(new RegExp(&(^|&)& + name +&&=([^&]*)(&|$)&)); && & & &return (r == null ? null : (r[2])); && &} && &function&fShowVerBlock(){ & &&& & & &if(bForcepc){ &&& & & & & &document.getElementByIdx_x(&dv_block&).style.display = &block&; && & & &} &&& & & &else{ &&& & & & & &document.getElementByIdx_x(&ad_block&).style.display = &block&; && & & &} &&& &} && &fBrowserRedirect(); &&& &&/script&&
欢迎转载:
推荐:      在移动设备应用越来越广泛的今天,许多网站都开始做移动端的界面展示,两者屏幕尺寸差异很大,所以展示的内容也有所差别。于是就遇到一个问题,如何判断你的页面是在移动端还是在PC端打开的,很简单的问题,那我们就简单点来说,以我们公司的官网来说,PC端和移动端的官网界面分别如下:
   Navigator对象
  首先来了解一下Navigator 对象,Navigator 对象包含有关浏览器的信息,下面的userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。所以我们可以通过判断navigator.useragent里面是否有某些值来判断,比如我的电脑是mac,所以打印出来的值为
Mozilla/5.0 (M Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
&具体含义不解释,有兴趣同学自行百度,可以看到里面含有 Mac 字样,其他的也是类似的。
  那如何判断页面是在移动端还是PC端打开的呢?
  网上有很多方法,写的或难或简单,实际上一行代码就够了
window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? "https://www.baidu.com/" :
"http://news.baidu.com/";
以上代码利用了正则表达式和三目运算符,含义就是如果是移动端打开的话那就跳转到 "https:www.baidu.com/" ,如果不是就跳转到"http://new.baidu.com/",这个看不懂的话,那我下面这样写就很容易理解了吧
if(/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
window.location.href = "https://www.baidu.com/";
window.location.href = "http://news.baidu.com/";
  什么?if里面的判断还是看不懂?实际上就是利用正则去判断 navigator.useragent 是否含有 Android/webOs/iphone 等字符串,并且利用修饰符 "i" 做了不区分大小写,然后用正则的方法 test 去判断是否满足,如果这种方式不理解的话完全可以利用字符串的 indexOf 方法去判断。
  OK,就说这么多咯!祝工作顺利!
Views(...) Comments()推荐这篇日记的豆列
&&&&&&&&&&&&系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ
PHP和javascript判断用户使用的是手机还是电脑
所需积分:20
亲,积分不够,多去发布资源、评论、签到、
或联系QQ人工充值
亲,vip会员下载原创作品 积分5 折,其余免积分下载
PS:尊重原创作者劳动成果,感谢分享!
充值方式: 或联系QQ人工充值

我要回帖

更多关于 js 判断手机访问 的文章

 

随机推荐