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.AutoComplete.js中文修正版(支持firefox)
Apr 09 Javascript
jquery的相对父元素和相对文档定位示例代码
Aug 02 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
May 12 Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 Javascript
js精准的倒计时函数分享
Jun 29 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
使用yeoman构建angular应用的方法
Aug 14 Javascript
JS实现颜色的10进制转化成rgba格式的方法
Sep 04 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
jQuery滑动效果实现方法分析
Sep 05 jQuery
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
谈一谈收音机的高放电路
2021/03/02 无线电
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
PHP4在Windows2000下的安装
2006/10/09 PHP
Yii2中Restful API原理实例分析
2016/07/25 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
javascript闭包的理解和实例
2010/08/12 Javascript
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
jquery对表单操作2
2011/04/06 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
Knockoutjs 学习系列(二)花式捆绑
2016/06/07 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
w3c编程挑战_初级脚本算法实战篇
2017/06/23 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
Node批量爬取头条视频并保存方法
2018/09/20 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
bootstrap实现tab选项卡切换
2020/08/09 Javascript
分析Python读取文件时的路径问题
2018/02/11 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
女士和男士时尚鞋在线购物:Shoespie
2019/02/28 全球购物
教师绩效考核方案
2014/01/21 职场文书
毕业生大学生活自我总结
2014/01/31 职场文书
雷锋式好少年事迹材料
2014/08/17 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
vue 自定义的组件绑定点击事件
2022/04/21 Vue.js