JS判断访问终端是手机还是电脑

来源:互联网 发布:建筑结构用什么软件 编辑:程序博客网 时间:2024/06/09 18:51

今天公司需求要判断访问终端是电脑还是移动设备,以返回不同的页面给用户,因为对http协协议不太了解,只能去网上找相关的内容,找到了一些,但感觉太长,还与我的需求有出入,后来找到了这个简短的JS代码,分享出来同时也做备忘。


<script type="text/javascript">

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.*/)||!!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应该程序,没有头部与底部
};
}()
}

document.writeln(" 是否为移动终端: "+browser.versions.mobile);  //这个测试是有问题的, 不管是电脑、还是手机都会显示true,所以忽略就可以了
document.writeln(" ios终端: "+browser.versions.ios); //这个判断是正确的
document.writeln(" android终端: "+browser.versions.android);//这个判断也是正确的,如果只是判断是否是手机访问,用这两个就可以了。
document.writeln(" 是否为iPhone: "+browser.versions.iPhone);//下面的基本被我忽略了,因为我用不到。
document.writeln(" 是否iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>


文章来源:http://www.jb51.net/article/44375.htm

备注:如果侵犯到了您的版权,请联系我做删除处理,谢谢!

0 0
原创粉丝点击