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 相关文章推荐
jquery 查找新建元素代码
Jul 06 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
Oct 20 Javascript
javascript中var的重要性分析
Feb 11 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
Mar 25 Javascript
简单实现js页面切换功能
Jan 10 Javascript
概述javascript在Google IE中的调试技巧
Nov 24 Javascript
微信小程序 video详解及简单实例
Jan 16 Javascript
js+html5生成自动排列对话框实例
Oct 09 Javascript
jQuery+CSS实现的table表格行列转置功能示例
Jan 08 jQuery
AngularJS实时获取并显示密码的方法
Feb 06 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
JavaScript原型链详解
Nov 07 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 if 想到的些问题
2008/03/22 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
2020/12/29 PHP
jQuery 1.0.2
2006/10/11 Javascript
Code:findPosX 和 findPosY
2006/12/20 Javascript
基于jquery的无缝循环新闻列表插件
2011/03/07 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
AngularJS基础知识
2014/12/21 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
基于JavaScript实现表单密码的隐藏和显示出来
2016/03/02 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
2019/01/21 Javascript
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
一份python入门应该看的学习资料
2018/04/11 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
python如何快速拼接字符串
2020/10/28 Python
Python tkinter实现日期选择器
2021/02/22 Python
美国时尚大码女装购物网站:Avenue
2019/05/24 全球购物
施工工地安全标语
2014/06/07 职场文书
竞选班干部演讲稿300字
2014/08/20 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python