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 相关文章推荐
js玩一玩WSH吧
Feb 23 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
Aug 13 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
Mar 12 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
js实现鼠标经过表格行变色的方法
May 12 Javascript
js判断图片加载完成后获取图片实际宽高的方法
Feb 25 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
Jan 20 Javascript
Vue组件之全局组件与局部组件的使用详解
Oct 09 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
解决vue.js提交数组时出现数组下标的问题
Nov 05 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远程采集图片详细教程
2014/07/01 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
javascript面向对象之Javascript 继承
2010/05/04 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
Javascript delete 引用类型对象
2013/11/01 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
html5 canvas 详细使用教程
2017/01/20 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
小程序如何支持使用 async/await详解
2019/09/12 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
Python编程之微信推送模板消息功能示例
2017/08/21 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
正宗的澳大利亚Ugg靴子零售商:UGG Express
2020/04/19 全球购物
网络工程师的自我评价
2013/10/02 职场文书
2014年预备党员学习两会心得体会
2014/03/17 职场文书
小学生评语大全
2014/04/18 职场文书
冬季施工防火方案
2014/05/17 职场文书
微电影大赛策划方案
2014/06/05 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
给客户的感谢信
2015/01/21 职场文书
音乐教师求职信范文
2015/03/20 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
《雀魂PONG☆》4月1日播出 PV角色设定情报
2022/03/20 日漫