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文件的函数代码分享
Jul 28 Javascript
js比较和逻辑运算符的介绍
Mar 10 Javascript
Jquery中给animation加更多的运作效果实例
Sep 05 Javascript
JS获取浏览器语言动态加载JS文件示例代码
Oct 31 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
Aug 12 Javascript
vue计算属性computed的使用方法示例
Mar 13 Javascript
使用vue-router在Vue页面之间传递数据的方法
Jul 15 Javascript
vant实现购物车功能
Jun 29 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 Javascript
解决await在forEach中不起作用的问题
Feb 25 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
博士208HAF收音机实习报告
2021/03/02 无线电
php array_intersect()函数使用代码
2009/01/14 PHP
php笔记之常用文件操作
2010/10/12 PHP
php获取指定日期之间的各个周和月的起止时间
2014/11/24 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
Ext.FormPanel 提交和 Ext.Ajax.request 异步提交函数的区别
2009/11/12 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
vue指令做滚动加载和监听等
2019/05/26 Javascript
深入浅析Vue中mixin和extend的区别和使用场景
2019/08/01 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
[01:28:44]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第一场 1月10日
2021/03/11 DOTA
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python中函数的参数定义和可变参数用法实例分析
2015/06/04 Python
深入理解Python装饰器
2016/07/27 Python
python实现聚类算法原理
2018/02/12 Python
python实现两个dict合并与计算操作示例
2019/07/01 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python递归实现打印多重列表代码
2020/02/27 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
历史学专业毕业生求职信
2013/09/27 职场文书
高中三年学习生活的自我评价
2013/10/10 职场文书
医学检验专业大学生求职信
2013/11/18 职场文书
党员党性分析材料
2014/02/17 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书