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 相关文章推荐
Code:loadScript( )加载js的功能函数
Feb 02 Javascript
删除条目时弹出的确认对话框
Jun 05 Javascript
ECMAScript 5中的属性描述符详解
Mar 02 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
Oct 23 Javascript
基于javascript实现样式清新图片轮播特效
Mar 30 Javascript
jquery删除数组中重复元素
Dec 05 Javascript
JS触摸事件、手势事件详解
May 04 Javascript
vue组件初学_弹射小球(实例讲解)
Sep 06 Javascript
vuejs 动态添加input框的实例讲解
Aug 24 Javascript
vue组件开发之slider组件使用详解
Aug 21 Javascript
ES6中的类(Class)示例详解
Dec 09 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
mysql From_unixtime及UNIX_TIMESTAMP及DATE_FORMAT日期函数
2010/03/21 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
js 数组的for循环到底应该怎么写?
2010/05/31 Javascript
jscript读写二进制文件的方法
2015/04/22 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
JavaScript实现的文本框placeholder提示文字功能示例
2018/07/25 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
在漏洞利用Python代码真的很爽
2007/08/26 Python
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
python3 读写文件换行符的方法
2018/04/09 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
python读取多层嵌套文件夹中的文件实例
2020/02/27 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
Python如何实现大型数组运算(使用NumPy)
2020/07/24 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
意大利单身交友网站:Meetic
2020/07/12 全球购物
应聘收银员个人的求职信
2013/11/30 职场文书
六一节目主持词
2014/04/01 职场文书
学习雷锋倡议书
2014/04/15 职场文书
军训拉歌口号
2014/06/13 职场文书
部队反四风对照检查材料
2014/09/26 职场文书
迎新生晚会主持词
2015/06/30 职场文书
正确的理解和使用Django信号(Signals)
2021/04/14 Python
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
在Centos 8.0中安装Redis服务器的教程详解
2022/03/21 Redis
spring boot实现文件上传
2022/08/14 Java/Android