JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器


Posted in Javascript onDecember 12, 2013

js 判断是什么类型浏览器

 if ( window.sidebar && "object" == typeof( window.sidebar ) && "function" == typeof( window.sidebar.addPanel ) ) //  firefox
{
  }
   else if ( document.all && "object" == typeof( window.external ) )   //  ie
   {
    }

js用来区别IE与其他浏览器及IE6-8之间的方法。

1、document.all
2、!!window.ActiveXObject;

使用方法如下:

if (document.all){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}

if (!!window.ActiveXObject){
alert(”IE浏览器”);
}else{
alert(”非IE浏览器”);
}

下面是区别IE6、IE7、IE8之间的方法:

var isIE=!!window.ActiveXObject;
var isIE6=isIE&&!window.XMLHttpRequest;
var isIE8=isIE&&!!document.documentMode;
var isIE7=isIE&&!isIE6&&!isIE8;
if (isIE){
if (isIE6){
alert(”ie6″);
}else if (isIE8){
alert(”ie8″);
}else if (isIE7){
alert(”ie7″);
}
}

首先我们确保这个浏览器为IE的情况下,进行了在一次的检测,如果你对此有怀疑,可以测试一下。

我这里就直接使用在判断中了,你也可以将他们先进行声明成变量进行使用。据说火狐以后也会加入document.all这个方法,所以建议使用第二种方法,应该会安全一些。

用navigator.userAgent.indexOf()来区分多浏览器,代码示例如下:

<coding-1 lang="other">
<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);
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>
</coding>

JavaScript不管是判断PC浏览器还是手机浏览器,都是通过User Agent 来判断。
Javascript 相关文章推荐
javascript 变量作用域 代码分析
Jun 26 Javascript
容易被忽略的JS脚本特性
Sep 13 Javascript
关于JS管理作用域的问题
Apr 10 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 Javascript
js表单登陆验证示例
Oct 19 Javascript
理解javascript中的闭包
Jan 11 Javascript
javascript 操作cookies详解及实例
Feb 22 Javascript
浅谈angular.copy() 深拷贝
Sep 14 Javascript
如何理解Vue的v-model指令的使用方法
Jul 19 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
Sep 06 Javascript
Webpack中SplitChunksPlugin 配置参数详解
Mar 24 Javascript
js中typeof的用法汇总
Dec 12 #Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 #Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 #Javascript
js实现弹窗插件功能实例代码分享
Dec 12 #Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 #Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 #Javascript
Jquery each方法跳出循环,并获取返回值(实例讲解)
Dec 12 #Javascript
You might like
php 文章采集正则代码
2009/12/28 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
详解js异步文件加载器
2016/01/24 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
10个值得深思的PHP面试题
2016/11/14 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
JavaScript图片轮播代码分享
2015/07/31 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
js中的 || 与 &amp;&amp; 运算符详解
2018/05/24 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
一起深入理解js中的事件对象
2021/02/06 Javascript
Python unittest单元测试框架总结
2018/09/08 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
如何基于python实现年会抽奖工具
2020/10/20 Python
CSS3的calc()做响应模式布局的实现方法
2017/09/06 HTML / CSS
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
大学生自我鉴定评语
2014/01/27 职场文书
副董事长岗位职责
2014/04/02 职场文书
读书小明星事迹材料
2014/05/03 职场文书
初中新生军训方案
2014/05/13 职场文书
公司经理任命书
2014/06/05 职场文书
激励员工的口号
2014/06/16 职场文书
英文感谢信格式
2015/01/21 职场文书
求职信范文怎么写
2015/03/19 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
认识实习感想
2015/08/10 职场文书
Java获取e.printStackTrace()打印的信息方式
2021/08/07 Java/Android
《我的美好婚事》动画化决定纪念插画与先导PV公开
2022/04/06 日漫